element-ui使用导航栏跳转路由的用法详解


Posted in Javascript onAugust 22, 2018

最近初学vue,试着做一个小项目熟悉语法与思想,其中使用elemen-ui的导航栏做路由跳转切换页面。下面记录一下学习过程

element-ui引入vue项目的用法参考element官网

首先复制官网的例子,在这基础上再修改成我们想要的样子。

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
 <el-menu-item index="1">处理中心</el-menu-item>
 <el-submenu index="2">
 <template slot="title">我的工作台</template>
 <el-menu-item index="2-1">选项1</el-menu-item>
 <el-menu-item index="2-2">选项2</el-menu-item>
 <el-menu-item index="2-3">选项3</el-menu-item>
 <el-submenu index="2-4">
  <template slot="title">选项4</template>
  <el-menu-item index="2-4-1">选项1</el-menu-item>
  <el-menu-item index="2-4-2">选项2</el-menu-item>
  <el-menu-item index="2-4-3">选项3</el-menu-item>
 </el-submenu>
 </el-submenu>
 <el-menu-item index="3" disabled>消息中心</el-menu-item>
 <el-menu-item index="4"><a href="https://www.ele.me" rel="external nofollow" target="_blank">订单管理</a></el-menu-item>
</el-menu>

<script>
 export default {
 data() {
  return {
  activeIndex: '1'
  };
 },
 methods: {
  handleSelect(key, keyPath) {
  console.log(key, keyPath);
  }
 }
 }
</script>

属性:

* default-active:表示当前active的菜单项的编号
* index:类型为字符串,在每一个el-menu-item组件上都有一个编号,给default-active标记

使用菜单栏进行路由跳转:

<el-menu :default-active="this.$router.path" router mode="horizontal">
 <el-menu-item v-for="(item,i) in navList" :key="i" :index="item.name">
  {{ item.navItem }}
 </el-menu-item>
</el-menu>

数据:

data() {
  return {
  navList:[
   {name:'/findProject',navItem:'发现项目'},
   {name:'/communityActivity',navItem:'社区动态'},
   {name:'/publishProject',navItem:'发布项目'},
   {name:'/personalCenter',navItem:'个人中心'},
   {name:'/manageCenter',navItem:'管理员中心'},
  ]
  }
 }

路由:

export default new Router({
 routes: [{
  path: '*',
  redirect: '/findProject'
 }, {
  path: '/findProject',
  name: 'findProject',
  component: findProject
 }, {
  path: '/communityActivity',
  name: 'communityActivity',
  component: communityActivity
 }, {
  path: '/publishProject',
  name: 'publishProject',
  component: publishProject
 }, {
  path: '/personalCenter',
  name: 'personalCenter',
  component: personalCenter
 }, {
  path: '/manageCenter',
  name: 'manageCenter',
  component: manageCenter
 }]
})

使用菜单栏进行路由跳转有几个注意点:

1. 在el-menu加上router

2. index必须绑定路由的path,参考上面的例子,'/'不能少

3. default-active设为当前路由(this.$router.path),这样在路由变化的时候,对应的menu-item才会高亮。

拓展知识:vue项目中的路由配置方法

公司的项目使用vue脚手架来搭建,是属于后台管理系统。功能页比较多,就使用vue路由来进行跳转;

element-ui使用导航栏跳转路由的用法详解

个人比较习惯上面这种方式放置路由文件,并且使用懒加载的模式来配置,如下:

import Vue from 'vue'
import Router from 'vue-router'
//import Login from '.././views/login.vue'
//import NotFound from '.././views/404.vue'
//import Home from '.././views/index.vue'
Vue.use(Router)

export default new Router({
 mode: 'history',//去掉#号
 routes: [
 {
  path: '/login',
  name: 'Login',
  component: resolve => require(['../views/login.vue'],resolve)
 },
 {
  path: '/404',
  name: 'NotFound',
  component: resolve => require(['../views/404.vue'],resolve)
 },
 {
  path: '/',
  redirect: '/default'
 },
 {
  path: '/',
  name: 'Home',
  component: resolve => require(['../views/index.vue'],resolve),
  meta: {title: '自述文件'},
  children:[
  {
   path: '/default',
   component: resolve => require(['../components/default.vue'],resolve),
   meta: {title: '系统首页'}
  },
  {
   path: '/set',
   component: resolve => require(['../components/set.vue'],resolve),
   meta: {title: '设置'}
  },
  {
   path: '/user',
   component: resolve => require(['../components/user.vue'],resolve),
   meta: {title: '账户管理'}
  },
  {
   path: '/member',
   component: resolve => require(['../components/memberList/memberList.vue'],resolve),
   meta: {title: '会员列表'}
  },
  {
   path: '/baseCharts',
   component: resolve => require(['../components/charts/baseCharts.vue'],resolve),
   meta: {title: '会员分析'}
  }
  ]
 }
 ]
})

在main.js中使用路由进行配置:

element-ui使用导航栏跳转路由的用法详解

这样就可以在需要的地方使用路由了。

以上这篇element-ui使用导航栏跳转路由的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Event altKey,ctrlKey,shiftKey属性解析
Dec 18 Javascript
js获取checkbox复选框选中的选项实例
Aug 24 Javascript
JavaScript中的this引用(推荐)
Aug 05 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
微信小程序 简单教程实例详解
Jan 13 Javascript
jQuery实现优雅的弹窗效果(6)
Feb 08 Javascript
JavaScript模块模式实例详解
Oct 25 Javascript
基于Vue的延迟加载插件vue-view-lazy
May 21 Javascript
node.js调用C++函数的方法示例
Sep 21 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
Nov 30 Javascript
js Array.slice的8种不同用法示例
Jul 10 Javascript
查找Vue中下标的操作(some和findindex)
Aug 12 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 #Javascript
解决element UI 自定义传参的问题
Aug 22 #Javascript
微信小程序chooseImage的用法(从本地相册选择图片或使用相机拍照)
Aug 22 #Javascript
解决element-ui中下拉菜单子选项click事件不触发的问题
Aug 22 #Javascript
微信小程序 Animation实现图片旋转动画示例
Aug 22 #Javascript
Vue动态获取width的方法
Aug 22 #Javascript
微信小程序调用摄像头隐藏式拍照功能
Aug 22 #Javascript
You might like
历史证明,懒惰才是推动科学发展技术进步的动力
2021/03/02 无线电
PHP魔术引号所带来的安全问题分析
2014/07/15 PHP
对PHP PDO的一些认识小结
2015/01/23 PHP
php实现从上传文件创建缩略图的方法
2015/04/02 PHP
Laravel 框架基于自带的用户系统实现登录注册及错误处理功能分析
2020/04/14 PHP
超清晰的document对象详解
2007/02/27 Javascript
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
可以用鼠标拖动的DIV实现思路及代码
2013/10/21 Javascript
IE8下Jquery获取select选中的值post到后台报错问题
2014/07/02 Javascript
Javascript中匿名函数的调用与写法实例详解(多种)
2016/01/26 Javascript
js+canvas绘制矩形的方法
2016/01/28 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
vue2.0 computed 计算list循环后累加值的实例
2018/03/07 Javascript
用Node提供静态文件服务的方法
2018/07/06 Javascript
JS中使用new Option()实现时间联动效果
2018/12/10 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
详解基于node.js的脚手架工具开发经历
2019/01/28 Javascript
解决layui调用自定义方法提示未定义的问题
2019/09/14 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
[01:09]DOTA2次级职业联赛 - 99战队宣传片
2014/12/01 DOTA
Python实现豆瓣图片下载的方法
2015/05/25 Python
使用Python Pandas处理亿级数据的方法
2019/06/24 Python
python opencv调用笔记本摄像头
2019/08/28 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
python 使用三引号时容易犯的小错误
2020/10/21 Python
找到您丢失的钥匙、钱包和手机:Tile
2017/05/19 全球购物
英国领先的体验日提供商:Buyagift
2019/04/19 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
国税会议欢迎词
2014/01/16 职场文书
求职信需要的五点内容
2014/02/01 职场文书
电子信息工程专业自荐书
2014/06/24 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
计划生育工作汇报
2014/10/28 职场文书
党员检讨书范文
2014/12/27 职场文书
2016年感恩节寄语
2015/12/07 职场文书