1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
| <template>
| <div>
| <el-menu
| :default-active="$route.path"
| :unique-opened="true"
| class="el-menu-vertical-demo"
| >
| <MenuItem
| v-for="(route, index) in routersList"
| :key="index"
| :item="route"
| :fatherPath="route.path"
| ></MenuItem>
| </el-menu>
| </div>
| </template>
|
| <script>
| import routers from "../../../router";
| import MenuItem from "./MenuItem.vue";
| export default {
| components: {
| MenuItem,
| },
| data() {
| return {
| routersList: [],
| };
| },
| mounted() {
| // 获取所有定义的一级菜单和多级菜单
| // 过滤掉登录路由和重定向路由,只获取主布局下的路由
| this.routersList = routers.options.routes.filter(route =>
| route.path !== '/login' &&
| route.path !== '/' &&
| !route.meta?.hide
| );
| },
| };
| </script>
|
|