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>