<template> <el-scrollbar wrap-class="scrollbar-wrapper"> <el-menu :show-timeout="200" :default-active="activeMenu" :collapse="isCollapse" mode="vertical" > <sidebar-item v-for="route in permission_routers" :key="route.name" :item="route" :base-path="route.path"/> </el-menu> </el-scrollbar> </template> <script> import { mapGetters } from 'vuex' import SidebarItem from './SidebarItem' export default { components: { SidebarItem }, computed: { ...mapGetters([ 'permission_routers', 'sidebar' ]), activeMenu() { const route = this.$route const { meta, path } = route // 如果meta中上设置activeMenu,按照meta中设置高亮 if (meta.activeMenu) { return meta.activeMenu } return path }, isCollapse() { return !this.sidebar.opened } } } </script>