一般项目的菜单只有两级菜单,但是现在做的项目中有三级菜单;
对应的第三级菜单下还有新增编辑和详情页面;
层级较多有十级左右,所以需要面包屑的展示;
本文章主要就项目中面包屑封装做一个总结;
1.路由配置文件
面包屑时根据vue-router的路由循环生成;所以想要展示的面包屑有多少层级,路由就有多少层级
路由层级(三级菜单)
每级都要有component,component对应页面要有对应的router-view, 否则会出出现公共部分没有内容的问题;
子级菜单会展示上级的component页面内容;所以是公共部分;但是第三级页面和详情页面因为没有什么公共部分,做了判断处理
export const routeMap =[
// 1
{
path: '/',
name: 'service',
redirect: '/service/node-service/s2service',
meta: { title: '1', keepAlive: true, icon: 'table', permission: [ 'dashboard' ] },
component: Menu,
children: [
// 1-1
{
path: '/service/node-service',
name: 'nodeService',
meta: { title: '1-1', keepAlive: false, permission: [ 'dashboard' ] },
component: Base,
children: [
{
path: '/service/node-service/s2service',
name: 's2service',
component: () => import('@/modules/region/index.vue'),
meta: { title: '1-2', permission: [ 'table' ] }
},
]
},
]
},
// 2
{
path: '/resources',
name: 'resources',
redirect: '/resources/resources-pool',
meta: { title: '2', keepAlive: true, icon: