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 相关文章推荐
妙用Jquery的val()方法
Jun 27 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
使用 JavaScript 进行函数式编程 (一) 翻译
Oct 02 Javascript
javascript实现拖动元素交换位置
Nov 29 Javascript
详解AngularJS中ng-src指令的使用
Sep 07 Javascript
JavaScript-html标题滚动效果的简单实现
Sep 08 Javascript
微信小程序开发经验总结(推荐)
Jan 11 Javascript
Vue2.0实现调用摄像头进行拍照功能 exif.js实现图片上传功能
Apr 28 Javascript
Node.js中的cluster模块深入解读
Jun 11 Javascript
vue中render函数的使用详解
Oct 12 Javascript
详解小程序之简单登录注册表单验证
May 13 Javascript
结合axios对项目中的api请求进行封装操作
Sep 21 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
PR值查询 | PageRank 查询
2006/12/20 PHP
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
2017/03/15 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
PHP序列化的四种实现方法与横向对比
2018/11/29 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
JavaScript高级程序设计(第3版)学习笔记6 初识js对象
2012/10/11 Javascript
EXTjs4.0的store的findRecord的BUG演示代码
2013/06/08 Javascript
JavaScript基础知识学习笔记
2014/12/02 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
javascript中offset、client、scroll的属性总结
2015/08/13 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
学习JavaScript设计模式之策略模式
2016/01/12 Javascript
javascript中不易分清的slice,splice和split三个函数
2016/03/29 Javascript
Javascript使用function创建类的两种方法(推荐)
2016/11/19 Javascript
jQuery插件echarts实现的多折线图效果示例【附demo源码下载】
2017/03/04 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
JS实现页面内跳转的简单代码
2017/09/03 Javascript
ES6 迭代器(Iterator)和 for.of循环使用方法学习(总结)
2018/02/08 Javascript
JS代码简洁方式之函数方法详解
2020/07/28 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python使用函数默认值实现函数静态变量的方法
2014/08/18 Python
详解Python的Django框架中的模版相关知识
2015/07/15 Python
Django验证码的生成与使用示例
2017/05/20 Python
Django自定义用户认证示例详解
2018/03/14 Python
Python3基于sax解析xml操作示例
2018/05/22 Python
Python 实现OpenCV格式和PIL.Image格式互转
2020/01/09 Python
python实现与redis交互操作详解
2020/04/21 Python
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
机工车间主任岗位职责
2014/03/05 职场文书
大学英语演讲稿范文
2014/04/24 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
MySQL学习之基础操作总结
2022/03/19 MySQL
vue如何使用模拟的json数据查看效果
2022/03/31 Vue.js
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python