我的意思就是渲染无限极菜单的时候要跳过admin层
<MenuTree :data="routers[0].children"></MenuTree>
<template>
<div>
<label v-for="menu in data" :key="menu.name">
<el-sub-menu :index="menu.name" v-if="menu.children">
<template #title>
<el-icon>
<location/>
</el-icon>
<span>{{menu.meta.title}}</span>
</template>
<MenuTree :data="menu.children"></MenuTree>
</el-sub-menu>
<el-menu-item v-else :index="menu.name">
<span slot="title">{{menu.name}}</span>
</el-menu-item>
</label>
</div>
</template>
<script>
export default {
name: "MenuTree",
data() {
return {
};
},
components: {
// MenuTree: MenuTree
},
props: ["data"],
};
</script>
const permissionRouters = [
{
path: '/admin',
name: 'admin',
meta: {
title: '管理员页', 'icon': '',active: 0,
},
component: () => import('./pages/Layout.vue'),
children: [
{
path: 'crawler',
name: 'crawler',
meta: {
title: '爬虫', 'icon': '',active: 0,
},
children: [
{
name: 'list',
path: 'list',
meta: {
title: '爬虫列表', 'icon': '',active: 0,
},
component: () => import('./pages/Crawler.vue')
},
{
path: 'edit',
name: 'edit',
meta: {
title: '爬虫编辑', 'icon': '',active: 0,
},
component: () => import('./components/HelloWorld.vue')
}
]
},
{
path: 'crawler',
name: 'crawler1',
meta: {
title: '爬虫', 'icon': '',active: 0,
},
children: [
{
name: 'list1',
path: 'list',
meta: {
title: '爬虫列表', 'icon': '',active: 0,
},
component: () => import('./pages/Crawler.vue')
},
{
path: 'edit1',
name: 'edit',
meta: {
title: '爬虫编辑', 'icon': '',active: 0,
},
component: () => import('./components/HelloWorld.vue')
}
]
}
]
}
]
?????
所以你的管理后台和前台的展示页面放在一个项目里面的?
还是说因为部署在了二级目录,所以你增加了一个
/admin
菜单?放在一起的话,可以直接取下标
1
开始。如果还有其他的菜单也会有隐藏的这种的,可以在meta
中配置hidden
属性,循环的时候判断一下就好了。