基于 vue-element-admin 基础模板实现侧边栏菜单动态渲染

码云仓库:https://gitee.com/shayvmo/vue-element-template

 

【正文】

基于 vue-admin-template 基础模板实现动态生成侧边栏菜单

 

【思路】

获取用户信息的时候,把后端返回的路由保存在 store 里面,执行生成路由时,合并前端静态定义的路由以及后端获取回来的动态路由

 

【主要修改文件】

src/permission.js


src/store/modules/permission.js


utils/_import.js


utils/router.js
文件: ` src/permission.js `

获取用户信息,存储路由

` const { roles } = await store.dispatch('basic/getInfo') `

合并路由,渲染路由

` const accessRoutes = await store.dispatch('permission/generateRoutes', { 'roles': roles, 'routers': store.getters.routers }) `

【后端返回数据结构】

具体根据 框架 原本需要返回的结构即可。组件那里返回 组件名称,会实现自动加载

routers = [
{
    path: '/',
    component: 'Layout',
    redirect: '/dashboard',
    children: [
        {
             path: 'dashboard',
             name: 'Dashboard',
             component: 'dashboard',
             meta: { 
                 title: '仪表盘', 
                 icon: 'dashboard' 
             }
         }
    ]
}
]
【vue-element-admin】
https://panjiachen.github.io/vue-element-admin-site/zh/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值