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 multiple全选与取消全选实现代码
Dec 04 Javascript
jquery实现点击弹出层效果的简单实例
Mar 03 Javascript
基于jquery的文字向上跑动类似跑马灯的效果
Sep 22 Javascript
javascript实现多级联动下拉菜单的方法
Feb 06 Javascript
理解和运用JavaScript的闭包机制
Aug 13 Javascript
ECMAScript6 新特性范例大全
Mar 24 Javascript
前端自动化开发之Node.js的环境搭建教程
Apr 01 Javascript
代码详解Vuejs响应式原理
Dec 20 Javascript
jQuery实现的电子时钟效果完整示例
Apr 28 jQuery
Angular6使用forRoot() 注册单一实例服务问题
Aug 27 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
在vue中嵌入外部网站的实现
Nov 13 Javascript
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中动态HTML的输出技术
2006/10/09 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
php清空(删除)指定目录下的文件,不删除目录文件夹的实现代码
2014/09/04 PHP
使用纯php代码实现页面伪静态的方法
2015/07/25 PHP
JavaScript聚焦于第一个字段的代码
2010/10/15 Javascript
js报错 Object doesn't support this property or method的原因分析
2011/03/31 Javascript
nodeType属性返回被选节点的节点类型介绍
2013/11/22 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
JavaScript中的object转换成number或string规则介绍
2014/12/31 Javascript
jQuery搜索子元素的方法
2015/02/10 Javascript
JavaScript调用浏览器打印功能实例分析
2015/07/17 Javascript
Bootstarp风格的toggle效果分享
2016/02/23 Javascript
AngularJS 如何在控制台进行错误调试
2016/06/07 Javascript
VC调用javascript的几种方法(推荐)
2016/08/09 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
关于Node.js中频繁修改代码重启服务器的问题
2020/10/15 Javascript
js面向对象方式实现拖拽效果
2021/03/03 Javascript
Python编写检测数据库SA用户的方法
2014/07/11 Python
Python批量发送post请求的实现代码
2018/05/05 Python
实践Vim配置python开发环境
2018/07/02 Python
Python实现个人微信号自动监控告警的示例
2019/07/03 Python
使用python快速在局域网内搭建http传输文件服务的方法
2019/11/14 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
python列表删除和多重循环退出原理详解
2020/03/26 Python
python+selenium+chromedriver实现爬虫示例代码
2020/04/10 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
Vans(范斯)新西兰官方网站:美国原创极限运动品牌
2020/09/19 全球购物
什么是静态路由?什么是动态路由?各自的特点是什么?
2015/09/16 面试题
2015年公司行政后勤工作总结
2015/05/20 职场文书
高中班长竞选稿
2015/11/20 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
微信小程序APP的生命周期及页面的生命周期
2022/04/19 Javascript