# 问题描述:

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

解决方案:
解决方案一:(我这里的路由守卫是正常的)
先触发了守卫路由再放置token,如图
在这里插入图片描述
把push方法放到存储token信息以后即可。。,如图
在这里插入图片描述
解决方案二:对vue-router降低版本到3.0.7,手动修改就行了
在这里插入图片描述
修改完之后记得删除原来的node_modules文件,再使用npm i 或yarn install生成新node_modules文件

解决方案三:(我是通过此方案解决)
直接复制下面代码到router文件下index.js,也是可以解决的
const originalPush = VueRouter.prototype.push
VueRouter.prototype.push = function push(location, onResolve, onReject) {
if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject)
return originalPush.call(this, location).catch(err => err)
}

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐