面包屑在项目中应用很常见,UI组件选择Element的menu。

解决思路:在每次路由变化的时候将路由记录下来,存入store,循环menu组件

先决要点:在创建路由时为每个路由添加一个meta属性,再在meta属性中添加一个name 属性,作为每个路由在面包屑中的文字体现

1、在store.js中写好初始状态下的面包屑数组

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
export default new Vuex.Store({
  state: {
    crumb:[
      {
        meta:{
          name:'首页'
        }
      }
    ]
  },
})

2、在再路由更新时更新面包屑数组

beforeRouteUpdate(to, from, next) {
  this.$store.state.crumb.push(to);
  this.$store.state.crumb.push(from);
  next();
},

3.在面包屑组件中利用store中的面包屑数据数组进行循环

<el-breadcrumb separator-class="el-icon-arrow-right">
  <el-breadcrumb-item v-for="item of crumb" :key="item">{{item.meta.name}}</el-breadcrumb-item>
</el-breadcrumb>

 

Logo

前往低代码交流专区

更多推荐