VUE+elementui面包屑实现动态路由详解

作者:lzcwds 时间:2024-05-02 17:11:47 

我的路由:


const routerMap = [
 {
   path: '/',
   redirect: 'dashboard',
   component: Layout,
   name:'Dashboard',
   children: [
     {
       path: 'dashboard',
       component: () => import('@/view/dashboard'),
       name: 'Dashboard',
       meta: { title: 'dashboard', icon: 'dashboard', noCache: true }
     }
   ]
 },{
   path:'/test',
   component:Layout,
   redirect: '/test/index',
   name:'Test',
   meta:{title:'test',icon:'lock'},
   children:[
     {
       path:'index',
       component:()=>import('@/view/test'),
       name:'test',
       meta:{title:'test', icon: 'example', noCache: true }
     },{
       path:'example',
       component:()=>import('@/view/test/example'),
       name:'example',
       meta:{title:'example',icon:'404'}
     }
   ]
 }
]

面包屑代码:


<template>
 <div class="navbar clearfix">
   <el-breadcrumb class="breadcrumb-container" separator-class="el-icon-arrow-right">
     <el-breadcrumb-item v-for="item in levelList":key="item.path" :to="item.path">{{item.meta.title}}</el-breadcrumb-item>
   </el-breadcrumb>
 </div>
</template>

<script>
 export default {
   name: 'Navbar',
   data() {
     return {
       levelList: []
     }
   },
   watch: {
     $route() {
       this.getBreadcrumb()
     }
   },
   created(){
     this.getBreadcrumb()
   },
   methods:{
     getBreadcrumb() {
       let matched = this.$route.matched.filter(item => item.name)
       const first = matched[0];
       if (first && first.name.trim().toLocaleLowerCase() !== 'Dashboard'.toLocaleLowerCase()) {
         matched = [{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched)
       }
       this.levelList = matched
     }
   }
 }
</script>

原理:通过监听当前路由的变化,动态更新面包屑的内容。

来源:https://blog.csdn.net/lzcwds/article/details/82625024

标签:VUE,elementui,面包屑,动态路由
0
投稿

猜你喜欢

  • python爬虫 正则表达式解析

    2022-07-16 18:24:01
  • vue使用localStorage保存登录信息 适用于移动端、PC端

    2024-04-30 08:46:25
  • python实现简单的五子棋游戏

    2023-07-30 13:24:31
  • Python并发之多进程的方法实例代码

    2022-04-13 12:43:54
  • python利用百度云接口实现车牌识别的示例

    2021-06-05 12:52:34
  • SQL Server 总结复习(一)

    2012-10-07 11:04:02
  • Python利用scapy实现ARP欺骗的方法

    2021-07-24 08:26:03
  • 跟老齐学Python之正规地说一句话

    2022-10-15 06:49:29
  • 解决python matplotlib imshow无法显示的问题

    2023-07-19 23:59:25
  • Python 使用指定的网卡发送HTTP请求的实例

    2022-07-05 05:30:00
  • python关于矩阵重复赋值覆盖问题的解决方法

    2021-12-11 03:07:17
  • GO必知必会的常见面试题汇总

    2023-07-14 01:47:07
  • golang jsoniter extension 处理动态字段的实现方法

    2024-02-10 09:43:17
  • Python 开发工具通过 agent 代理使用的方法

    2022-10-19 05:15:31
  • python中的tkinter库弹窗messagebox详解

    2023-11-12 04:02:05
  • spring使用RedisTemplate操作Redis数据库

    2024-01-16 03:32:28
  • mysql到oracle的移植

    2011-01-29 16:23:00
  • 如何配置一个稳定的SQL Server数据库

    2008-12-09 14:07:00
  • 简单上手Python中装饰器的使用

    2023-06-20 19:20:06
  • MySQL中组合字段之concat()

    2024-01-26 04:36:54
  • asp之家 网络编程 m.aspxhome.com