基于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 相关文章推荐
用document.documentElement取代document.body的原因分析
Nov 12 Javascript
可以将word转成html的js代码
Apr 11 Javascript
JQuery性能优化的几点建议
May 14 Javascript
用循环或if语句从json中取数据示例
Aug 18 Javascript
AngularJS入门教程之AngularJS模型
Apr 18 Javascript
JavaScript函数中关于valueOf和toString的理解
Jun 14 Javascript
详解Javascript ES6中的箭头函数(Arrow Functions)
Aug 24 Javascript
从0开始学Vue
Oct 27 Javascript
微信分享调用jssdk实例
Jun 08 Javascript
Vue组件之高德地图地址选择功能的实例代码
Jun 21 Javascript
微信小程序开发技巧汇总
Jul 15 Javascript
javascript canvas API内容整理
Feb 16 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
PHP实时显示输出
2008/10/02 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
JavaScript this调用规则说明
2010/03/08 Javascript
AJAX使用了UpdatePanel后无法使用alert弹出脚本
2010/04/02 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
javascript在IE下trim函数无法使用的解决方法
2014/09/12 Javascript
使用nodejs开发cli项目实例
2015/06/03 NodeJs
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
jquery自适应布局的简单实例
2016/05/28 Javascript
用原生js做单页应用
2017/01/17 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
js数组常用最重要的方法
2018/02/04 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
Vue 实现从文件中获取文本信息的方法详解
2019/10/16 Javascript
js实现微信聊天界面
2020/08/09 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
解决element-ui的下拉框有值却无法选中的情况
2020/11/07 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
Python中random模块生成随机数详解
2016/03/10 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python实现诗歌游戏(类继承)
2019/02/26 Python
Css3圆角边框制作代码
2015/11/18 HTML / CSS
马来西亚户外装备商店:PTT Outdoor
2019/07/13 全球购物
请用Python写一个获取用户输入数字,并根据数字大小输出不同信息的脚本
2014/05/20 面试题
成品仓管员工作职责
2013/12/29 职场文书
廉洁教育学习材料
2014/05/19 职场文书
应急处置方案
2014/06/16 职场文书
工伤事故赔偿协议书范文
2014/09/24 职场文书
公务员四风问题对照检查材料整改措施
2014/09/26 职场文书
大学生违纪检讨书300字
2014/10/25 职场文书
2014年汽车销售工作总结
2014/12/01 职场文书
委托函范文
2015/01/29 职场文书
黄埔军校观后感
2015/06/10 职场文书
2016教师学习党章心得体会
2016/01/15 职场文书
python批量更改目录名/文件名的方法
2021/04/18 Python
Java生成读取条形码和二维码的简单示例
2021/07/09 Java/Android