vue路由动态获取

如何获取动态路由

1、将所有的路由全部写死在router.js中,如图
在这里插入图片描述

2、但是我们需要一个标记来记录本次登录的账号需要展示哪些路由,于是便在meta的对象中加入了一个键值,键名统称为module,值的话我们需要在登录的时候获取后端权限接口来标记。
图一(前端写法)
图二 (后端返回数据)
在这里插入图片描述
在这里插入图片描述
3、万事俱备只欠东风啦,当我们有了所有的路由,以及当前用户的权限,那么接下来我们就需要对数据进行处理了,找出当前用户具备权限的路由
(该数据是在store中请求处理和存储的)

首先:在strore/modules/user.js文件中引入router.js
在这里插入图片描述
再者:获取到权限数据过滤当前用户的路由权限
在这里插入图片描述
(以下两张图是上面图内用到的过滤权限路由的方法和第一次跳转的路径获取方法)
在这里插入图片描述
在这里插入图片描述
数据处理完了,那么接下来只需要渲染啦
在这里插入图片描述
在这里插入图片描述
当然我们也需要注意的是,我们把路由存在store中,会存在一个问题,当页面强制刷新的时候,store的数据就会不存在了这时我们需要在permission.js中做一些处理
在这里插入图片描述
最后当我们退出的时候要重置路由(同样的退出方法也写在store/module/user.js中)
先引入写在router.js的重置方法
在这里插入图片描述
(router.js的充值方法)
在这里插入图片描述
最后退出方法中直接调用resetRouter()就行了
(该动态获取路由是基于vue-element-admin上实现的)

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值