猿问

你好,求问关于vue-router跳转问题?麻烦大佬了!具体内容看下面!

打开一个页面a,

然后token过期,

自动跳回登录页,

通过路由传参的方式将页面a的路径传给登录页,

登录成功之后,

在使用参数跳转回页面a,

但是这时候页面a右上角有一个返回按钮,

里面是$router.back(),这时候点击返回按钮,

就直接返回了登录页,

然后登陆之后又返回页面a,

页面a点击返回又回到登录页,

一直往复循环,

请问有没有什么好的解决方案

暮色呼如
浏览 530回答 1
1回答

缥缈止盈

建议你这样试试看:登录页跳转到A页面的时候使用router.replace方法, 替换掉当前的路由栈在A页面写路由守卫beforeRouteLeave钩子函数,判断将要去的页面是否为登录页面,如果是则不执行next方法两种方式的优劣第一种方式比较简单直接,而且代码较容易维护第二种路由守卫的方式虽然可以解决问题单有点杀鸡用牛刀的意味了,针对你的需求,从代码维护角度考虑,有点成本。
随时随地看视频慕课网APP
我要回答