基于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 相关文章推荐
javascript 精粹笔记
May 09 Javascript
extJS中常用的4种Ajax异步提交方式
Mar 07 Javascript
javascript打开word文档的方法
Apr 16 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
jQuery实现最简单的切换图效果【可兼容IE6、火狐、谷歌、opera等】
Sep 04 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
慕课网题目之js实现抽奖系统功能
Sep 19 Javascript
vue简单封装axios插件和接口的统一管理操作示例
Feb 02 Javascript
JavaScript正则表达式验证登录实例
Mar 18 Javascript
详解Vue中的watch和computed
Nov 09 Javascript
Vue实现手机号、验证码登录(60s禁用倒计时)
Dec 19 Vue.js
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模拟asp中的XmlHttpRequest实现http请求的代码
2011/03/24 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
PHP框架laravel的.env文件配置教程
2017/06/07 PHP
图片自动缩小的js代码,用以防止图片撑破页面
2007/03/12 Javascript
JS网络游戏-(模拟城市webgame)提供的一些例子下载
2007/10/14 Javascript
Extjs Ajax 乱码问题解决方案
2009/04/15 Javascript
json的前台操作和后台操作实现代码
2012/01/20 Javascript
js变量、作用域及内存详解
2014/09/23 Javascript
2014 年最热门的21款JavaScript框架推荐
2014/12/25 Javascript
JS实现图片放大镜效果的方法
2015/02/27 Javascript
分享两段简单的JS代码防止SQL注入
2016/04/12 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
JS实现页面进入和返回定位到具体位置
2016/12/08 Javascript
JS触摸与手势事件详解
2017/05/09 Javascript
NodeJS实现视频转码的示例代码
2017/11/18 NodeJs
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
JS面向对象编程实现的拖拽功能案例详解
2020/03/03 Javascript
在vscode 中设置 vue模板内容的方法
2020/09/02 Javascript
vue监听浏览器原生返回按钮,进行路由转跳操作
2020/09/09 Javascript
详解Python中的__init__和__new__
2014/03/12 Python
Python实现的简单万年历例子分享
2014/04/25 Python
Python自定义简单图轴简单实例
2018/01/08 Python
Python使用pickle模块报错EOFError Ran out of input的解决方法
2018/08/16 Python
python中pytest收集用例规则与运行指定用例详解
2019/06/27 Python
Tensorflow中tf.ConfigProto()的用法详解
2020/02/06 Python
python如何提取英语pdf内容并翻译
2020/03/03 Python
基于Python绘制美观动态圆环图、饼图
2020/06/03 Python
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
大学考试作弊检讨书
2014/01/30 职场文书
纪律教育学习心得体会
2014/09/02 职场文书
业务员岗位职责范本
2015/04/03 职场文书
导游词之江苏溱潼古镇
2019/11/27 职场文书
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技