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


Posted in Javascript onNovember 04, 2019

我的路由:

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>

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

以上这篇VUE+elementui面包屑实现动态路由详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
理解Javascript_03_javascript全局观
Oct 11 Javascript
jQuery对象和Javascript对象之间转换的实例代码
Mar 20 Javascript
回车直接实现点击某按钮的效果即触发单击事件
Feb 27 Javascript
a标签click和href执行顺序探讨
Jun 23 Javascript
jQuery中queue()方法用法实例
Dec 29 Javascript
Javascript 正则表达式校验数字的简单实例
Nov 02 Javascript
微信小程序 网络请求(GET请求)详解
Nov 16 Javascript
JS简单实现数组去重的方法示例
Mar 27 Javascript
Js利用console计算代码运行时间的方法示例
Sep 24 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
javascript 模块依赖管理的本质深入详解
Apr 30 Javascript
一文彻底理解js原生语法prototype,__proto__和constructor
Oct 24 Javascript
Vuex,iView UI面包屑导航使用扩展详解
Nov 04 #Javascript
vue双向绑定数据限制长度的方法
Nov 04 #Javascript
使用p5.js临摹动态图片
Nov 04 #Javascript
p5.js绘制创意自画像
Nov 04 #Javascript
Vue图片浏览组件v-viewer用法分析【支持旋转、缩放、翻转等操作】
Nov 04 #Javascript
vue 指令和过滤器的基本使用(品牌管理案例)
Nov 04 #Javascript
vue中使用GraphQL的实例代码
Nov 04 #Javascript
You might like
BBS(php &amp; mysql)完整版(七)
2006/10/09 PHP
在IIS7.0下面配置PHP 5.3.2运行环境的方法
2010/04/13 PHP
一些php技巧与注意事项分析
2011/02/03 PHP
初窥JQuery(一)jquery选择符 必备知识点
2010/11/25 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
使用console进行性能测试
2015/04/27 Javascript
IE浏览器下PNG相关功能
2015/07/05 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
轻松理解JavaScript之AJAX
2017/03/15 Javascript
Vue.js路由vue-router使用方法详解
2017/03/20 Javascript
vue init失败简单解决方法(终极版)
2017/12/22 Javascript
JavaScript创建防篡改对象的方法分析
2018/12/30 Javascript
Vue 组件修改根实例的数据的方法
2019/04/02 Javascript
WebStorm中如何将自己的代码上传到github示例详解
2020/10/28 Javascript
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
python飞机大战pygame游戏背景设计详解
2019/12/17 Python
Python matplotlib图例放在外侧保存时显示不完整问题解决
2020/07/28 Python
CSS3实现背景透明文字不透明的示例代码
2018/06/25 HTML / CSS
html5实现图片转圈的动画效果——让页面动起来
2017/10/16 HTML / CSS
Lampegiganten丹麦:欧洲领先的照明网上商店
2018/04/25 全球购物
理工大学毕业生自荐信
2013/11/01 职场文书
工作时间上网检讨书
2014/02/03 职场文书
自荐信的格式
2014/03/10 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
教师节演讲稿
2014/05/06 职场文书
微电影大赛策划方案
2014/06/05 职场文书
物资采购方案
2014/06/12 职场文书
个人委托书如何写
2014/09/25 职场文书
学习十八大标语
2014/10/09 职场文书
公安机关查摆剖析材料
2014/10/10 职场文书
2014年质检工作总结
2014/11/26 职场文书
商场营业员岗位职责
2015/04/14 职场文书
2015年保育员个人工作总结
2015/05/13 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python