vue路由切换报错,升级vue-router包还是报错
我不知道你是不是登录的时候路由出现了这样的 如果是可以在登录的路由出更换为 下方的写法.this.$router.push({ path: this.redirect || "/" }, () => { }, () => { });
或者this.$router.push({ path: this.redirect || "/" },onComplete => { }, onAbort => { });
出现了和你一样的问题,这是我的解决办法,希望对你有帮助:
1.检查在路由前是否有异步操作
2.如果有则可以通过.then解决:
asyncFunc.then(() => {
this.$router.push('/path')
}).catch(() => {
alert('路由跳转失败!')
})
3.Root Cause:
赞成@blink的观点,应该是有多个路由重定向造成的。
遇到同样的问题,楼主,这个问题解决了吗?Uncaught (in promise) Error: Redirected when going from "/login" to "/dashboard" via a navigation guard
6 回答3k 阅读✓ 已解决
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
3 回答2.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
参考githubvue-router/issues/3221
大概原因是vue-router包升级后,使用router.push方法会抛出一个异常,需要手动接受处理下,低版本则没有这个问题。
简单解决方法:
使用router.push后,用catch接收下就不会抛出这个错误了。