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 相关文章推荐
prototype class详解
Sep 07 Javascript
javascript KeyDown、KeyPress和KeyUp事件的区别与联系
Dec 03 Javascript
解决jquery的.animate()函数在IE6下的问题
Dec 03 Javascript
JavaScript mapreduce工作原理简析
Nov 25 Javascript
innerHTML,outerHTML,innerText,outerText的用法及区别解析
Dec 16 Javascript
JavaScript变量声明详解
Nov 27 Javascript
JavaScript设计模式之抽象工厂模式介绍
Dec 28 Javascript
jQuery实现仿Google首页拖动效果的方法
May 04 Javascript
JS中对象与字符串的互相转换详解
May 20 Javascript
详解webpack+ES6+Sass搭建多页面应用
Nov 05 Javascript
微信小程序前端自定义分享的实现方法
Jun 13 Javascript
vue集成openlayers加载geojson并实现点击弹窗教程
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
理解php原理的opcodes(操作码)
2010/10/26 PHP
清空上传控件input file的值
2010/07/03 Javascript
javascript中文本框中输入法切换的问题
2013/12/10 Javascript
如何实现textarea里的不同文本显示不同颜色
2014/01/20 Javascript
iframe调用父页面函数示例详解
2014/07/17 Javascript
js实现继承的5种方式
2015/12/01 Javascript
Function.prototype.apply()与Function.prototype.call()小结
2016/04/27 Javascript
用Vue.js实现监听属性的变化
2016/11/17 Javascript
JS实现重新加载当前页面或者父页面的几种方法
2016/11/30 Javascript
简单几步实现返回顶部效果
2016/12/05 Javascript
解析jquery easyui tree异步加载子节点问题
2017/03/08 Javascript
使用 Vue 实现一个虚拟列表的方法
2019/08/20 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
vue中touch和click共存的解决方式
2020/07/28 Javascript
Vue获取微博授权URL代码实例
2020/11/04 Javascript
django实现分页的方法
2015/05/26 Python
解决Python传递中文参数的问题
2015/08/04 Python
Python sqlite3事务处理方法实例分析
2017/06/19 Python
Python中的探索性数据分析(功能式)
2017/12/22 Python
Python读写及备份oracle数据库操作示例
2018/05/17 Python
Python List列表对象内置方法实例详解
2019/10/22 Python
5 分钟读懂Python 中的 Hook 钩子函数
2020/12/09 Python
python dir函数快速掌握用法技巧
2020/12/09 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
Python实现我的世界小游戏源代码
2021/03/02 Python
爱普生美国官网:Epson美国
2018/11/05 全球购物
Discard Protocol抛弃协议的作用是什么
2015/10/10 面试题
应聘教师推荐信
2013/10/31 职场文书
写好自荐信的要点
2013/11/06 职场文书
八项规定整改方案
2014/10/01 职场文书
2014年护理部工作总结
2014/11/14 职场文书
2014年双拥工作总结
2014/11/21 职场文书
超市督导岗位职责
2015/04/10 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
安全生产隐患排查制度
2015/08/05 职场文书
php将xml转化对象的实例详解
2021/11/17 PHP