基于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 相关文章推荐
免费空间广告万能消除代码
Sep 04 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
关于Javascript与iframe的那些事儿
Jul 04 Javascript
JavaScript中奇葩的假值示例应用
Mar 11 Javascript
什么是MEAN?JavaScript编程中的MEAN是什么意思?
Dec 18 Javascript
javascript中indexOf技术详解
May 07 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
May 12 Javascript
实用jquery操作表单元素的简单代码
Jul 04 Javascript
JavaScript实现元素滚动条到达一定位置循环追加内容
Dec 28 Javascript
自定义javascript验证框架示例【附源码下载】
May 31 Javascript
Vue.js组件使用props传递数据的方法
Oct 19 Javascript
实例讲解React 组件
Jul 07 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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
PHP读取配置文件类实例(可读取ini,yaml,xml等)
2015/07/28 PHP
php实现网站文件批量压缩下载功能
2015/10/28 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
PHP实现的折半查找算法示例
2017/12/19 PHP
jQuery 中关于CSS操作部分使用说明
2007/06/10 Javascript
JavaScript高级程序设计 事件学习笔记
2011/09/10 Javascript
js事件监听机制(事件捕获)总结
2014/08/08 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
axios基本入门用法教程
2017/03/25 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
javascript过滤数组重复元素的实现方法
2017/05/03 Javascript
加载 vue 远程代码的组件实例详解
2017/11/20 Javascript
浅谈Node 调试工具入门教程
2018/03/20 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
用Electron写个带界面的nodejs爬虫的实现方法
2019/01/29 NodeJs
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
JavaScript实现拖拽功能
2020/02/11 Javascript
vue 输入电话号码自动按3-4-4分割功能的实现代码
2020/04/30 Javascript
python处理cookie详解
2014/02/07 Python
python提取内容关键词的方法
2015/03/16 Python
Python读取网页内容的方法
2015/07/30 Python
python获取程序执行文件路径的方法(推荐)
2018/04/26 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
2018/04/27 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
2018/12/05 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
python 实现list或string按指定分段
2019/12/25 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
Python 实现平台类游戏添加跳跃功能
2020/03/27 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
临床医学应届生求职信
2013/11/06 职场文书
小学生防溺水广播稿
2014/01/12 职场文书
怎么写好自荐书
2014/03/02 职场文书
新年祝酒词大全
2015/08/11 职场文书
Win10系统下配置Java环境变量
2021/06/13 Java/Android