vue2.0 elementUI制作面包屑导航栏


Posted in Javascript onFebruary 22, 2018

Main.js

var routeList = [];
router.beforeEach((to, from, next) => {
 var index = -1;
 for(var i = 0; i < routeList.length; i++) {
  if(routeList[i].name == to.name) {
   index = i;
   break;
  }
 }
 if (index !== -1) {
//如果存在路由列表,则把之后的路由都删掉
  routeList.splice(index + 1, routeList.length - index - 1);
 } else if(to.name != '登录'){
  routeList.push({"name":to.name,"path":to.fullPath});
 }
 to.meta.routeList = routeList;
 next()
});

2、在要使用的组件中

<template>
  <div class="level-bread">
   <el-breadcrumb separator="/">
    <el-breadcrumb-item v-for="item in realList" :to="item.path">{{item.name}}</el-breadcrumb-item>
   </el-breadcrumb>
  </div>
</template>

<script>
  export default {
   name: "lelve-bread",
   created(){
    this.getRoutePath();
   },
   data() {
    return {
     realList: []
    }
   },
   methods:{
    getRoutePath() {
     this.realList = this.$route.meta.routeList;
    }
   },
   beforeRouteEnter(to,from, next) {
    next((vm) => {
     vm.realList = to.meta.routeList;
    });
   },
   // watch:{
   //  $route:function(newV,oldV) {
   //   this.realList =newV.meta.routeList;
   //  }
   // }
  }
</script>

用 watch 或者 beforeRouteEnter 均可。

需要注意的是,beforeRouteEnter 此时访问不到this。

const Foo = {
 template: `...`,
 beforeRouteEnter (to, from, next) {
  // 在渲染该组件的对应路由被 confirm 前调用
  // 不!能!获取组件实例 `this`
  // 因为当守卫执行前,组件实例还没被创建
 },
 beforeRouteUpdate (to, from, next) {
  // 在当前路由改变,但是该组件被复用时调用
  // 举例来说,对于一个带有动态参数的路径 /foo/:id,在 /foo/1 和 /foo/2 之间跳转的时候,
  // 由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。
  // 可以访问组件实例 `this`
 },
 beforeRouteLeave (to, from, next) {
  // 导航离开该组件的对应路由时调用
  // 可以访问组件实例 `this`
 }
}

以上就是本次我们整理的全部内容,希望能够帮助到大家,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
Mar 05 Javascript
JavaScript中this详解
Sep 01 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
jQuery实现验证码功能
Mar 17 Javascript
微信小程序之网络请求简单封装实例详解
Jun 28 Javascript
微信小程序之页面跳转和参数传递的实现
Sep 29 Javascript
angularjs实现时间轴效果的示例代码
Nov 29 Javascript
基于vue实现移动端圆形旋钮插件效果
Nov 28 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
Vue3实现简易音乐播放器组件
Aug 14 Vue.js
webpack将js打包后的map文件详解
Feb 22 #Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 #Javascript
深入理解ES6中let和闭包
Feb 22 #Javascript
vue+iview+less+echarts实战项目总结
Feb 22 #Javascript
在vscode中统一vue编码风格的方法
Feb 22 #Javascript
vue webpack打包优化操作技巧
Feb 22 #Javascript
vue和react等项目中更简单的实现展开收起更多等效果示例
Feb 22 #Javascript
You might like
php连接Access数据库错误及解决方法
2013/06/20 PHP
php addslashes 利用递归实现使用反斜线引用字符串
2013/08/05 PHP
PHP实现根据设备类型自动跳转相应页面的方法
2014/07/24 PHP
CI框架支持$_GET的两种实现方法
2016/05/18 PHP
PHP chr()函数讲解
2019/02/11 PHP
PHP实现页面静态化深入讲解
2021/03/04 PHP
jQuery 渐变下拉菜单
2009/12/15 Javascript
浅析onsubmit校验表单时利用ajax的return false无效问题
2013/07/10 Javascript
js post提交调用方法
2014/02/12 Javascript
扒一扒JavaScript 预解释
2015/01/28 Javascript
jQuery实现向下滑出的平滑下拉菜单效果
2015/08/21 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
Angular 4依赖注入学习教程之FactoryProvider配置依赖对象(五)
2017/06/04 Javascript
node实现登录图片验证码的示例代码
2018/04/20 Javascript
迅速了解一下ES10中Object.fromEntries的用法使用
2019/03/05 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
[46:20]DOTA2-DPC中国联赛 正赛 PSG.LGD vs LBZS BO3 第二场 1月22日
2021/03/11 DOTA
python获取远程图片大小和尺寸的方法
2015/03/26 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python实现杨氏矩阵查找
2019/03/02 Python
struct和class的区别
2015/11/20 面试题
提高EJB性能都有哪些技巧
2012/03/25 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
项目经理岗位职责
2013/11/11 职场文书
初中三年学生的学习自我评价
2013/11/13 职场文书
车间组长岗位职责
2013/12/20 职场文书
项目经理任命书范本
2014/06/05 职场文书
保护地球的标语
2014/06/17 职场文书
机关作风整顿个人整改措施2014
2014/09/17 职场文书
2014基层党员批评与自我批评范文
2014/09/24 职场文书
机关党员三严三实心得体会
2014/10/13 职场文书
教师个人年度总结
2015/02/11 职场文书
乒乓球比赛通知
2015/04/27 职场文书
企业廉洁教育心得体会
2016/01/20 职场文书
css height属性中的calc方法详解
2021/06/03 HTML / CSS
浅析MySQL如何实现事务隔离
2021/06/26 MySQL