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 相关文章推荐
cssQuery()的下载与使用方法
Jan 12 Javascript
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
基于jquery插件实现常见的幻灯片效果
Nov 01 Javascript
escape编码与unescape解码汉字出现乱码的解决方法
Jul 02 Javascript
如何在node的express中使用socket.io
Dec 15 Javascript
Jquery使用val方法读写value值
May 18 Javascript
javascript实时显示当天日期的方法
May 20 Javascript
js正则表达式中exec用法实例
Jul 23 Javascript
JS日期加减,日期运算代码
Nov 05 Javascript
Vue.js鼠标悬浮更换图片功能
May 17 Javascript
vue中v-for通过动态绑定class实现触发效果
Dec 06 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 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数据库连接类~~做成一个分页类!
2006/11/25 PHP
PHP无限分类的类
2007/01/02 PHP
PHP中执行cmd命令的方法
2014/10/11 PHP
laravel高级的Join语法详解以及使用Join多个条件
2019/10/16 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
addEventListener()第三个参数useCapture (Boolean)详细解析
2013/11/07 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
javascript如何写热点图
2015/12/08 Javascript
基于jquery实现的仿优酷图片轮播特效代码
2016/01/13 Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
2016/01/27 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
JavaScript使用原型和原型链实现对象继承的方法详解
2017/04/05 Javascript
jQuery中的deferred对象和extend方法详解
2017/05/08 jQuery
微信小程序调用PHP后台接口 解析纯html文本
2017/06/13 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
2018/01/08 Javascript
php 解压zip压缩包内容到指定目录的实例
2018/01/23 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
vue+egg+jwt实现登录验证的示例代码
2019/05/18 Javascript
js实现图片无缝循环轮播
2019/10/28 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
[02:45]DOTA2英雄基础教程 伐木机
2013/12/23 DOTA
Python创建文件和追加文件内容实例
2014/10/21 Python
python多线程threading.Lock锁用法实例
2014/11/01 Python
PYTHON基础-时间日期处理小结
2018/05/05 Python
对Python中一维向量和一维向量转置相乘的方法详解
2019/08/26 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python map及filter函数使用方法解析
2020/08/06 Python
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
AmazeUI 列表的实现示例
2020/08/17 HTML / CSS
Seavenger官网:潜水服、浮潜、靴子和袜子
2020/03/05 全球购物
包装类的功能、种类、常用方法
2012/01/27 面试题
物流管理专业职业生涯规划书
2014/01/06 职场文书
机关作风建设自查报告
2014/10/22 职场文书
运动会宣传语
2015/07/13 职场文书
nginx内存池源码解析
2021/11/20 Servers