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

作者:laozhang 时间:2024-05-02 17:12:16 

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`
}
}
标签:vue2.0,elementUI,面包屑导航栏
0
投稿

猜你喜欢

  • Safari显示网页字体为超级无敌难看的宋体的原因

    2008-04-20 16:49:00
  • python中扫描条形码和二维码的实现代码

    2023-02-15 23:00:12
  • python 使用xlsxwriter循环向excel中插入数据和图片的操作

    2023-01-30 15:08:47
  • Python函数和模块的使用详情

    2023-10-11 13:51:20
  • python多进程中的内存复制(实例讲解)

    2022-01-20 23:34:46
  • 解决Keras使用GPU资源耗尽的问题

    2023-06-26 05:43:51
  • Django中使用session保持用户登陆连接的例子

    2021-08-29 03:27:30
  • MySQL存储引擎InnoDB与Myisam的区别分析

    2024-01-18 13:34:50
  • GO语言中通道和sync包的使用教程分享

    2024-02-10 15:14:16
  • sqlalchemy实现时间列自动更新教程

    2021-08-18 20:12:58
  • 不受欢迎的“欢迎页”

    2008-04-20 16:41:00
  • 网页设计求职全攻略

    2008-07-09 18:56:00
  • 关于PyQt5中QtGui.QImage图片显示问题解析

    2022-05-17 19:59:12
  • Golang时间处理中容易踩的坑分析解决

    2024-04-25 15:00:04
  • python多进程下的生产者和消费者模型

    2022-05-30 02:37:07
  • PJBlog3优化——301定向跳转解决重复内容的问题

    2009-05-20 10:40:00
  • window.showModalDialog参数传递中含有特殊字符的处理方法

    2024-04-18 09:48:16
  • 微型设计专用工具Dorado

    2011-01-06 12:23:00
  • Python字符串本身作为bytes进行解码的问题

    2022-12-22 07:18:42
  • MySQL获取系统性能和状态代码

    2024-01-13 10:56:18
  • asp之家 网络编程 m.aspxhome.com