vue路由跳转错误:Error: Redirected when going from "/login" to "/home" via a navigation guard.

vue路由跳转错误:Error: Redirected when going from "/login" to "/home" via a navigation guard.

嗯这是一个非智力性错误

Login.vue代码

1596178740497

守卫路由代码

1596178690571

出现错误:

1596178712924

分析:以上运行时第一次点击登陆出现错误,第二次点击登陆正常进入主页,原因是在第一次登陆时守卫路由没有拿到token的值,

如图,先触发了守卫路由再放置token。

1596179053337

守卫路由无法先拿到token,直接进行了/login的跳转,

1596179175833

先进行了页面的跳转,因此因此守卫路由中断当前的导航(本次跳转),抛出异常,无法进入首页,第二次登陆能够登入首页是因为第一次登陆已经放好了token,因此正常拿到token也就能正常走这个函数了。

解决办法:把push方法放到存储token信息以后即可。。

1596179609259

原文地址:https://www.cnblogs.com/lightice/p/13410200.html