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 处理Iframe自适应高度(同或不同域名下)
Mar 29 Javascript
JS对话框_JS模态对话框showModalDialog用法总结
Jan 11 Javascript
JS组件Bootstrap Table表格多行拖拽效果实现代码
Dec 08 Javascript
EasyUI创建对话框的两种方式
Aug 23 Javascript
javascript实现右下角广告框效果
Feb 01 Javascript
完美的js图片轮换效果
Feb 05 Javascript
Angular2监听页面大小变化的解决方法
Oct 09 Javascript
微信小程序自定义select下拉选项框组件的实现代码
Aug 28 Javascript
动态内存分配导致影响Javascript性能的问题
Dec 18 Javascript
使用vue中的混入mixin优化表单验证插件问题
Jul 02 Javascript
JS随机密码生成算法
Sep 23 Javascript
微信小程序手动添加收货地址省市区联动
May 18 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&amp;mysql(六)
2006/10/09 PHP
php session处理的定制
2009/03/16 PHP
php 模拟get_headers函数的代码示例
2013/04/27 PHP
php读取本地文件常用函数(fopen与file_get_contents)
2013/09/09 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
php实现统计网站在线人数的方法
2015/05/12 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
javascript编程起步(第五课)
2007/02/27 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
2013/07/09 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
js实现人民币大写金额形式转换
2016/04/27 Javascript
js运动事件函数详解
2016/10/21 Javascript
JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器
2016/10/30 Javascript
javascript入门之string对象【新手必看】
2016/11/22 Javascript
addeventlistener监听scroll跟touch(实例讲解)
2017/08/04 Javascript
JS操作时间 - UNIX时间戳的简单介绍(必看篇)
2017/08/16 Javascript
javacript replace 正则取字符串中的值并替换【推荐】
2018/09/13 Javascript
vue-cli安装使用流程步骤详解
2018/11/08 Javascript
谈谈JavaScript中super(props)的重要性
2019/02/12 Javascript
vue实现整屏滚动切换
2020/06/29 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
python编写网页爬虫脚本并实现APScheduler调度
2014/07/28 Python
python执行等待程序直到第二天零点的方法
2015/04/23 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python人脸识别初探
2017/12/21 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python字符串的常见操作实例小结
2019/04/08 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
商超业务员岗位职责
2014/03/12 职场文书
保护环境倡议书300字
2014/05/19 职场文书
煤矿开采专业求职信
2014/07/08 职场文书
布达拉宫导游词
2015/02/02 职场文书
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
2021/03/31 Servers
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS
mysql 带多个条件的查询方式
2021/06/05 MySQL