meta简单来说就是路由元信息,也就是每个路由身上携带的信息。

当我们做面包屑功能时,会用到meta。

面包屑效果如下:

router/index.js中代码如下:

{
    path: '/backstage',
    component: Layout,
    redirect: '/backstage/menu',
    name: '后台管理',
    meta: { title: '后台管理', icon: 'example', code: 'backstage@table', roles: ['admin'] },
    children: [
      {
        path: 'menu',
        name: '菜单管理',
        component: () => import('@/views/backstage/menu/index'),
        meta: { title: '菜单管理', icon: 'table', code: 'backstage@menu@index', roles: ['admin'] }
      }
    ]
  },

面包屑模板如下:

<template>
  <el-breadcrumb class="app-breadcrumb" separator="/">
    <transition-group name="breadcrumb">
      <el-breadcrumb-item v-for="(item,index) in levelList" v-if="item.meta.title" :key="item.path">
        <span v-if="item.redirect==='noredirect'||index==levelList.length-1"
              class="no-redirect">{{ item.meta.title }}</span>
        <router-link v-else :to="item.redirect||item.path">{{ item.meta.title }}</router-link>
      </el-breadcrumb-item>
    </transition-group>
  </el-breadcrumb>
</template>

 

posted on 2021-12-04 16:12  周文豪  阅读(1711)  评论(0编辑  收藏  举报