<template>
<el-menu
active-text-color="#ffd04b"
text-color="#fff"
background-color="#545c64"
default-active="/Home"
style="height: 100%;"
:collapse="isCollapse"
:collapse-transition="false"
router
>
<el-menu-item index = "/Home">
<i class="el-icon-s-home"></i>
<span slot="title">主页</span>
</el-menu-item>
<!-- <el-menu-item index = "/Admin">
<i class="el-icon-s-flag" ></i>
<span>导航1</span>
</el-menu-item> -->
<el-menu-item :index = "'/'+item.menuClick" v-for="(item,i) in menu">
<i class="item.menuIcon" ></i>
<span slot="title">{{item.menuName}}</span>
</el-menu-item>
<!-- <el-menu-item index = "/User">
<i class="el-icon-s-data" ></i>
<span>导航2</span>
</el-menu-item> -->
</el-menu>
</template>
<script>
export default{
name:"Aside",
data(){
return{
menu:[
{
menuClick:'Admin',
menuName:'管理员管理',
menuIcon:'el-icon-s-custom'
},
{
menuClick:'user',
menuName:'用户管理',
menuIcon:'el-icon-user-solid'
},
]
}
},
props:{
isCollapse:Boolean
}
}
</script>
这里是想根据用户权限不同显示不同的内容,先简单根据传值用循环打印所有功能列表,方便后面根据后端传值显示不同内容
import VueRouter from 'vue-router'
const routes = [
{
path:'/',
name:'login',
component:()=>import('../components/Login')
},
{
path:'/Index',
name:'index',
component:()=>import('../components/Index'),
children:[
{
path:'/Home',
name:'home',
meta:{
title:'首页'
},
component:()=>import('../components/Home'),
},
{
path:'/Admin',
name:'admin',
meta:{
title:'管理员界面'
},
component:()=>import('../components/admin/AdminManage.vue'),
},
{
path:'/User',
name:'user',
meta:{
title:'用户界面'
},
component:()=>import('../components/user/UserManage.vue'),
}
]
}
]
const router = new VueRouter({
mode:'history',
routes
})
const VueRouterPush = VueRouter.prototype.push
VueRouter.prototype.push = function push (to) {
return VueRouterPush.call(this, to).catch(err => err)
}
export default router;