Ant-design-vue项目实现动态路由

vue项目实现动态路由的方式大体可分为两种:
1.前端这边把路由写好,登录的时候根据用户的角色权限来动态展示路由,(前端控制路由)

fa4d6b0d1d3e29ff4a4aaf79d70a865b.png

2.后台传来当前用户对应权限的路由表,前端通过调接口拿到路由信息后处理(后端处理路由)

5a4a75269f3e5fe80aab224a5f2f33dd.png

这两种方法各有优点,效果都能实现,我们公司现在用的就是第二种,后台返回路由信息,前端动态生成路由及菜单。我们就讲讲实现的逻辑。

我们用动态路由,需要后台提供路由信息,那前台肯定有对应编辑输入的地方,我们的系统放到菜单里。

9ad61916b73f3c7b1c8decbd375a75f9.png

父级节点        父级
节点ID          自动生成
菜单名称        菜单名称
权限标识        
图标            菜单前面的图标
类型            分为菜单和按钮
排序                
前端组件        组件在项目中的位置
前端地址        浏览器路由地址

拿用户管理来说,

249b67c074fcadce8c5de61e1495b65f.png

前端组件views/admin/user/index对应我们项目中的

1d13313e22ad842b8043bcd4379d8adc.png

左侧菜单调用调用接口请求菜单数据返回格式

9c5a414d7127366c837a39e5a610a3df.png

在index.vue中,调用菜单接口,处理接口返回数据,重点在红圈内

25af2464c893a9c6f07dd879d1cf4b48.png

总结,菜单返回的信息要包含router信息,这个信息不能直接使用,需要重新封装路由,用router.addRoutes(asyncRouters)把路由信息重新添加。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值