vue路由--网站导航功能详解


Posted in Javascript onMarch 29, 2019

1、首先需要按照Vue router支持

npm install vue-router
然后需要在项目中引入:

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

2、定义router的js文件

import Vue from 'vue'
import Router from 'vue-router'
import User from '../pages/user'
import Home from '../pages/public/home'
import Profile from '../pages/user/profile'
import Form from '../pages/form'
import Detail from '../pages/form/form'
import File from '../pages/form/file'
import Files from '../pages/file'

Vue.use(Router)

export default new Router({
 routes: [
  { path: '/', component:Home,
   children:[
    { path: '/user', component:Profile},
    { path: '/profile', component: User},
    { path: '/form', component: Form},
    { path: '/detail', component: Detail},
    { path: '/profiles', component: Files},
    { path: '/file', component: File}
   ]
  },

  { path: '/login', component:Login},
  { path: '/404', component:Error}
 ] 
})

3、在main.js中引入router

import router from './router'

new Vue({
 router,
 render: h => h(App),
}).$mount('#app')

4、入口页面定义router-view

<div id="app">
 <router-view></router-view>
 </div>

5、在path指向为“/”的页面中,定义页面的布局,例如:上(头部)-中(左道航-右内容)-下(底部)。

<HeaderSection></HeaderSection>
 <div>
  <NavList class="nav"></NavList>
  <router-view class="router"></router-view>
 </div>
<FooterSection></FooterSection>

6、左侧导航,用elementUI实现,有一个NavMenu导航菜单,做导航功能。

在这里提一下引入elementUI:

(1)安装

npm i element-ui -S

(2)使用

在main.js中加入下面的代码:

import ElementUI from 'element-ui';

import 'element-ui/lib/theme-chalk/index.css';


Vue.use(ElementUI);

导航栏的代码如下:

<el-menu class="sidebar-el-menu" :default-active="onRoutes" :collapse="collapse" background-color="#324157"
     text-color="#bfcbd9" active-text-color="#20a0ff" unique-opened router>
 <template v-for="item in items">
  <template v-if="item.subs">
   <el-submenu :index="item.index" :key="item.index">
    <template slot="title">
    <i :class="item.icon"></i><span slot="title">{{ item.title }}</span>
    </template>
    <template v-for="subItem in item.subs">
    <el-submenu v-if="subItem.subs" :index="subItem.index" :key="subItem.index">
     <template slot="title">{{ subItem.title }}</template>
     <el-menu-item v-for="(threeItem,i) in subItem.subs" :key="i" :index="threeItem.index">
      {{ threeItem.title }}
     </el-menu-item>
    </el-submenu>
    <el-menu-item v-else :index="subItem.index" :key="subItem.index">
     {{ subItem.title }}
    </el-menu-item>
    </template>
   </el-submenu>
  </template>
  <template v-else>
   <el-menu-item :index="item.index" :key="item.index">
    <i :class="item.icon"></i><span slot="title">{{ item.title }}</span>
   </el-menu-item>
  </template>
 </template>
</el-menu>

定义左侧导航的显示和图标等内容,index为唯一标识,打开的是path路径,对应router中的path,就可以打开写好的相应的页面。

items: [
     {
      icon: 'el-icon-share',
      index: 'user',
      title: '系统首页'
     },
     {
      icon: 'el-icon-time',
      index: 'profile',
      title: '基础表格'
     },
     {
      icon: 'el-icon-bell',
      index: '3',
      title: '表单相关',
      subs: [
       {
        index: 'form',
        title: '基本表单'
       },
       {
        index: '3-2',
        title: '三级菜单',
        subs: [
         {
          index: 'detail',
          title: '富文本编辑器'
         },
         {
          index: 'file',
          title: 'markdown编辑器'
         },
        ]
       },
       {
        index: 'profiles',
        title: '文件上传'
       }
      ]
     },
    ]

7、如果涉及到登录页面和不需要路由的页面等,就需要在router的js文件中定义和“/”平级的其他path的页面,再判断进入页面是路由页面还是登录等页面。

以上所述是小编给大家介绍的vue路由--网站导航功能详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
jquery获取tr并更改tr内容示例代码
Feb 13 Javascript
javascript 自定义回调函数示例代码
Sep 26 Javascript
JavaScript中的变量作用域介绍
Dec 31 Javascript
基于jQuery和CSS3制作数字时钟附源码下载(jquery篇)
Nov 24 Javascript
jQuery增加、删除及修改select option的方法
Aug 19 Javascript
关于js函数解释(包括内嵌,对象等)
Nov 20 Javascript
Three.js中网格对象MESH的属性与方法详解
Sep 27 Javascript
Vue 过滤器filters及基本用法
Dec 26 Javascript
vue2.0路由切换后页面滚动位置不变BUG的解决方法
Mar 14 Javascript
vue实现鼠标移过出现下拉二级菜单功能
Dec 12 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
Jun 04 Javascript
openlayers 3实现车辆轨迹回放
Sep 24 Javascript
利用weixin-java-miniapp生成小程序码并直接返回图片文件流的方法
Mar 29 #Javascript
微信小程序实现获取小程序码和二维码java接口开发
Mar 29 #Javascript
详解vue项目打包步骤
Mar 29 #Javascript
jQuery实现动态添加和删除input框代码实例
Mar 29 #jQuery
Vue项目history模式下微信分享爬坑总结
Mar 29 #Javascript
vue中使用微信公众号js-sdk踩坑记录
Mar 29 #Javascript
微信小程序学习笔记之本地数据缓存功能详解
Mar 29 #Javascript
You might like
关于PHPDocument 代码注释规范的总结
2013/06/25 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
解决ThinkPHP下使用上传插件Uploadify浏览器firefox报302错误的方法
2015/12/18 PHP
mysql查找删除重复数据并只保留一条实例详解
2016/09/24 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
js工具方法弹出蒙版
2013/05/08 Javascript
使用js+jquery实现无限极联动
2013/05/23 Javascript
jquery数组之存放checkbox全选值示例代码
2013/12/20 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
js中实现多态采用和继承类似的方法
2014/08/22 Javascript
js实现点击切换TAB标签实例
2015/08/21 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
深入理解jQuery 事件处理
2016/06/14 Javascript
jQuery实现圣诞节礼物动画案例解析
2016/12/25 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
Angular搜索 过滤 批量删除 添加 表单验证功能集锦(实例代码)
2017/10/25 Javascript
js使用xml数据载体实现城市省份二级联动效果
2017/11/08 Javascript
详解Nuxt.js Vue服务端渲染摸索
2018/02/08 Javascript
微信小程序实现购物车代码实例详解
2019/08/29 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
[02:14]DOTA2英雄基础教程 修补匠
2013/12/23 DOTA
Python基于socket实现简单的即时通讯功能示例
2018/01/16 Python
python使用opencv在Windows下调用摄像头实现解析
2019/11/26 Python
Python Dataframe常见索引方式详解
2020/05/27 Python
Keras中 ImageDataGenerator函数的参数用法
2020/07/03 Python
Python如何输出警告信息
2020/07/30 Python
Speedo美国:澳大利亚顶尖泳衣制造商
2016/08/03 全球购物
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
阿迪达斯英国官方网站:adidas英国
2019/08/13 全球购物
财务主管自我鉴定
2014/01/17 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
《云雀的心愿》教学反思
2016/02/23 职场文书