vue封装面包屑的思路


1、打印this.$route

可以发现matched是可以提供面包屑的数据源,根据实际情况进行filter

2、在路由表(路由记录)中添加 meta 

const routes = [
  // 第一级 
  {
    path: '/',
    name: 'Home',
    component: Home,
    meta: {
      title: '首页',
    },
    children: [
      // 第二级
      {
        path: 'manage',
        name: 'Manage',
        component: Manage,
        meta: {
          title: '活动管理',
        },
        children: [
          // 第三级
          {
            path: 'list',
            name: 'List',
            component: List,
            meta: {
              title: '活动列表',
            },
          },
          // 第三级
          {
            path: 'test',
            name: 'Test',
            component: Test,
            meta: {
              title: '测试',
            },
          },
        ],
      },
    ],
  },
];

3、在 BreadCrumb 组件中

获取数据源:

  computed: {
    breadCrumbList() {
      return this.$route.matched;
    }
  },

渲染组件:

  <el-breadcrumb separator="/">
    <el-breadcrumb-item v-for="breadCrumbItem in breadCrumbList" :key="breadCrumbItem.path">
      {{ breadCrumbItem.meta.title }}
    </el-breadcrumb-item>
  </el-breadcrumb>

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM