基于vue-cli vue-router搭建底部导航栏移动前端项目


Posted in Javascript onFebruary 28, 2018

vue.js学习 踩坑第一步

1.首先安装vue-cli脚手架

不多赘述,主要参考 Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目

 

2.项目呈现效果

基于vue-cli vue-router搭建底部导航栏移动前端项目

项目呈现网址:www.zhoupeng520.cn/index.html 

项目中主要用了Flex布局,以及viewport相关知识,已达到适应各终端屏幕的目的

3.项目主要目录

基于vue-cli vue-router搭建底部导航栏移动前端项目

4主要代码如下 

(1)App.vue

<template>
 <div id="app">
 <router-view class="view"></router-view>
 <div class="nav">
  <router-link class="nav-item" to="/langren">狼人杀</router-link>
  <router-link class="nav-item" to="/sanguo">三国杀</router-link>
  <router-link class="nav-item" to="/yingxiong">英雄杀</router-link>
 </div>
 </div>
</template>
<script>
</script>
<style>
 #app{
 height: 100%;
 display: flex;
 flex-direction: column;
 flex: 1;
 }
 .nav{
 height: 80px;
 line-height: 80px;
 display: flex;
 text-align: center;
 }
 .nav-item{
 flex: 1;
 text-decoration: none;
 }
 .nav-item:link,.nav-item:visited{
 background-color: white;
 color: black;
 }
 .nav-item:hover,.nav-item:active{
 color: white;
 background-color: #C8C6C6;
 }
</style>

(2)main.js

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue';
import VueRouter from 'vue-router';
import router from './router';
import App from './App';
Vue.config.productionTip = false;
Vue.use(VueRouter);
/* eslint-disable no-new */
new Vue({
 el: '#app',
 router,
 template: '</App>',
 render: h => h(App)
});

(3)index.js //这个就是路由的配置

这个可以直接写进main.js 也可像我一样在main.js中引入,各有各的好处

import Vue from 'vue';
import VueRouter from 'vue-router';
Vue.use(VueRouter);

const router = new VueRouter({
 routes: [{
  path: '/langren',
  component: require('../components/vue/langren.vue')
 }, {
  path: '/sanguo',
  component: require('../components/vue/sanguo.vue')
 }, {
  path: '/yingxiong',
  component: require('../components/vue/yingxiong.vue')
 }, {
  path: '/',
  component: require('../components/content/content.vue')
 }]
});
export default router;

也可以直接写一个routers.js放在src目录下

(4)router.js

import langren from './components/vue/langren.vue';
import sanguo from './components/vue/sanguo.vue';
import yingxiong from './components/vue/yingxiong.vue';
const routers = [
 {
  path: '/langren',
  component: langren
 },
 {
  path: '/sanguo',
  component: sanguo
 },
 {
  path: '/yingxiong',
  component: yingxiong
 }
];
export default routers;

(5)content.vue

<template>
 <div class="content"><p>我是content!</p></div>
</template>
<script type="text/ecmascript-6">
 export default {};
</script>
<style lang="stylus" rel="stylesheet/stylus">
 .content
  height:100%
  background:blue
  flex:1
  display:flex;
  justify-content:center
  align-items:center
</style>

langren.vue / sanguo.vue / yingxiong.vue 代码和这个一样只是颜色和p中字段改了下。

主要代码就这些了。 

5.另外写一下主要遇到的报错以及解决方法

(1)由于是用来es6的语法,所以要遵循它 的一些语法规则,所以有的代码最后要多一行空行,有的要加分号,有的要加空格,根据报错来进行更改

(2)semi//indent//no-tabs报错,在.eslintrc.js更改代码如下,主要添加了最后几行。

// http://eslint.org/docs/user-guide/configuring
module.exports = {
 root: true,
 parser: 'babel-eslint',
 parserOptions: {
 sourceType: 'module'
 },
 env: {
 browser: true,
 },
 // https://github.com/feross/standard/blob/master/RULES.md#javascript-standard-style
 extends: 'standard',
 // required to lint *.vue files
 plugins: [
 'html'
 ],
 // add your custom rules here
 'rules': {
 // allow paren-less arrow functions
 'arrow-parens': 0,
 // allow async-await
 'generator-star-spacing': 0,
 // allow debugger during development
 'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0,
 'semi': ['error', 'always'],
 'indent': 0,
 'space-before-function-paren': 0,
 "no-tabs":"off"
 }
}

总结

以上所述是小编给大家介绍的基于vue-cli vue-router搭建底部导航栏移动前端项目,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 Javascript
使用jquery.upload.js实现异步上传示例代码
Jul 29 Javascript
jquery实现叠层3D文字特效代码分享
Aug 21 Javascript
jQuery 自定义下拉框(DropDown)附源码下载
Jul 22 Javascript
JavaScript定义函数_动力节点Java学院整理
Jun 27 Javascript
基于bootstrap实现多个下拉框同时搜索功能
Jul 19 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
Nov 15 Javascript
vue-router实现嵌套路由的讲解
Jan 19 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
Jul 19 Javascript
详解基于原生JS验证表单组件xy-form
Aug 20 Javascript
Vue中登录验证成功后保存token,并每次请求携带并验证token操作
Sep 08 Javascript
JS创建自定义对象的六种方法总结
Dec 15 Javascript
Vue-Router模式和钩子的用法
Feb 28 #Javascript
angularjs 获取默认选中的单选按钮的value方法
Feb 28 #Javascript
angularJS的radio实现单项二选一的使用方法
Feb 28 #Javascript
vue cli 全面解析
Feb 28 #Javascript
js实现动态改变radio状态的方法
Feb 28 #Javascript
快速了解vue-cli 3.0 新特性
Feb 28 #Javascript
jquery radio 动态控制选中失效问题的解决方法
Feb 28 #jQuery
You might like
discuz安全提问算法
2007/06/06 PHP
PHP与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
php each 返回数组中当前的键值对并将数组指针向前移动一步实例
2016/11/22 PHP
深入理解JavaScript定时机制
2010/10/29 Javascript
ASP.NET jQuery 实例3 (在TextBox里面阻止复制、剪切和粘贴事件)
2012/01/13 Javascript
jQuery ajax(复习)—Baidu ajax request分离版
2013/01/24 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
各种页面定时跳转(倒计时跳转)代码总结
2013/10/24 Javascript
邮箱下拉自动填充选择示例代码附图
2014/04/03 Javascript
jQuery中fadeOut()方法用法实例
2014/12/24 Javascript
浅谈Unicode与JavaScript的发展史
2015/01/19 Javascript
jQuery点缩略图弹出层显示大图片
2015/02/13 Javascript
如何利用AngularJS打造一款简单Web应用
2015/12/05 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
jQuery中设置form表单中action值的实现方法
2016/05/25 Javascript
JavaScript随机打乱数组顺序之随机洗牌算法
2016/08/02 Javascript
JS锚点的设置与使用方法
2016/09/05 Javascript
基于vue-upload-component封装一个图片上传组件的示例
2018/10/16 Javascript
原生js实现公告滚动效果
2021/01/10 Javascript
vue实现页面滚动到底部刷新
2019/08/16 Javascript
javascript设计模式之装饰者模式
2020/01/30 Javascript
python中的decimal类型转换实例详解
2019/06/26 Python
浅谈Python 敏感词过滤的实现
2019/08/15 Python
Python Django框架url反向解析实现动态生成对应的url链接示例
2019/10/18 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
Python定义一个函数的方法
2020/06/15 Python
详解Sticky Footer 绝对底部的两种套路
2017/11/03 HTML / CSS
运动会广播稿300字
2014/01/10 职场文书
大四自我鉴定
2014/02/08 职场文书
青年标兵事迹材料
2014/08/16 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
三年级作文之趣事作文
2019/11/04 职场文书
CSS3 天气图标动画效果
2021/04/06 HTML / CSS
Python scrapy爬取起点中文网小说榜单
2021/06/13 Python
python Django框架快速入门教程(后台管理)
2021/07/21 Python