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 相关文章推荐
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
2014年最火的Node.JS后端框架推荐
Oct 27 Javascript
实例分析js和C#中使用正则表达式匹配a标签
Nov 26 Javascript
AngularJS自动表单验证
Feb 01 Javascript
原生态js,鼠标按下后,经过了那些单元格的简单实例
Aug 11 Javascript
基于JavaScript实现微信抢红包功能
Jul 20 Javascript
在nginx上部署vue项目(history模式)的方法
Dec 28 Javascript
JS中用EL表达式获取上下文参数值的方法
Mar 28 Javascript
JS与jQuery判断文本框还剩多少字符可以输入的方法
Sep 01 jQuery
js实现延迟加载的几种方法详解
Jan 19 Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
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
discuz Passport 通行证 整合笔记
2008/06/30 PHP
php INI配置文件的解析实现分析
2011/01/04 PHP
php强制下载类型的实现代码
2011/04/21 PHP
在WordPress中使用wp-cron插件来设置定时任务
2015/12/10 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
php抽象方法和抽象类实例分析
2016/12/07 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
2017/07/04 PHP
php魔法函数与魔法常量使用介绍
2017/07/23 PHP
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
仅30行代码实现Javascript中的MVC
2016/02/15 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
用vue2.0实现点击选中active其他选项互斥的效果
2018/04/12 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
javascript设计模式 ? 观察者模式原理与用法实例分析
2020/04/22 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[19:54]夜魇凡尔赛茶话会 第一期02:看图识人
2021/03/11 DOTA
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
100行Python代码实现自动抢火车票(附源码)
2018/01/11 Python
Python实现的简单读写csv文件操作示例
2018/07/12 Python
Sanic框架请求与响应实例分析
2018/07/16 Python
python之消除前缀重命名的方法
2018/10/21 Python
pygame游戏之旅 添加游戏介绍
2018/11/20 Python
Python数据可视化:顶级绘图库plotly详解
2019/12/07 Python
使用BeautifulSoup4解析XML的方法小结
2020/12/07 Python
Pandas中DataFrame交换列顺序的方法实现
2020/12/14 Python
高中生的自我鉴定范文
2014/01/24 职场文书
一份教室追逐打闹的检讨书
2014/09/27 职场文书
安全月宣传标语
2014/10/07 职场文书
学校群众路线专项整治方案
2014/10/31 职场文书
模范教师材料大全
2014/12/16 职场文书
毕业论文致谢部分怎么写
2015/05/14 职场文书
鲁冰花观后感
2015/06/10 职场文书
2015年初中教务处工作总结
2015/07/21 职场文书
2016大学生党校学习心得体会
2016/01/06 职场文书
一文搞懂php的垃圾回收机制
2021/06/18 PHP