vue的面包屑导航组件

用来将其放到navbar中;

Breadcrumb/index.vue

 1 <template>
 2    <el-breadcrumb class="app-breadcrumb" separator="/">
 3      <transition-group>
 4        <el-breadcrumb-item  v-for="(item,index) in levelList" :key="item.path" v-if="item.meta.title">
 5          <span   v-if='item.redirect==="noredirect"||index==levelList.length-1' class="no-redirect">{{item.meta.title}}</span>
 6          <router-link   v-else :to="item.redirect||item.path">{{item.meta.title}}</router-link>
 7        </el-breadcrumb-item>
 8      </transition-group>
 9    </el-breadcrumb>
10 </template>
11 <script>
12     export default {
13         name: "idnex",
14       data(){
15           return {
16             levelList:null
17           }
18       },
19       created() {
20         this.getBreadcrumb()
21       },
22       watch:{
23         $route(){
24           this.getBreadcrumb()
25         }
26       },
27       methods:{
28         getBreadcrumb(){
29             let matched=this.$route.matched.filter(item=>item.name)//$route.matched 将会是一个包含从上到下的所有对象 (副本)。
30             const first=matched[0]
31             if(first && first.name !=='dashboard'){//$route.name当前路由名称  ;$route.redirectedFrom重定向来源的路由的名字
32               matched=[{ path: '/dashboard', meta: { title: 'dashboard' }}].concat(matched)
33             }
34             this.levelList=matched
35           }
36       }
37     }
38 </script>
39 <style rel="stylesheet/scss" lang="scss" scoped>
40   .app-breadcrumb.el-breadcrumb {
41     display: inline-block;
42     font-size: 14px;
43     line-height: 50px;
44     margin-left: 10px;
45     .no-redirect {
46       color: #97a8be;
47       cursor: text;
48     }
49   }
50 </style>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值