vue-router 路由守卫 与 vuex

vue是单页面应用 ,各个页面的跳转需要路由支持,当然也可以 v-if/v-show,但是实际开发中不现实

 为一个项目做鉴权就可以用解决方案去vuex里面读取状态,根据状态 来调用 vue-router的路由守卫来实现,鉴权路由跳转

官方链接: 

https://router.vuejs.org/zh/guide/advanced/navigation-guards.html#%E5%85%A8%E5%B1%80%E5%89%8D%E7%BD%AE%E5%AE%88%E5%8D%AB

 写判断逻辑的时候 一定要注意next()的调用,不能多重调用 会形成死循环,最少要调用一次,不然不会跳转

 

这两张图可以看出它的运行机制,在每次跳转前都会执行   beforeEach(),

to.path === '/login'  为true  就会执行  next('/login')  ;其实执行next('/login')  又会执行beforeEach() 所以一直在循环执行,就相当于 路由一直在跳转“/login” 之前  一直没跳成功 

直接 调用next()   让其成功跳转一次  就可以出‘/login’的循环

就相当于 一次 next()的调用  要对应一次成功的路由跳转,上面的情况就是调用了又没有成功跳转,所以一直在哪儿循环...

 

 

鉴权超时登录 利用vuex可以存储个时间戳  

因为没有后端支持 所以存了个本地,实际开发前后端分离  是应该从服务器读取数据

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值