vue后台路由都是以admin开头的,这样无限级菜单从admin开始,大家也是这么搞的吗?
我的意思就是渲染无限极菜单的时候要跳过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
属性,循环的时候判断一下就好了。
回答:
可以在meta中新增一个标识表示显隐的,然后在遍历时去根据这个标识判断要不要显示这层菜单
以上是 vue后台路由都是以admin开头的,这样无限级菜单从admin开始,大家也是这么搞的吗? 的全部内容, 来源链接: utcz.com/p/933439.html