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
13 回答12.9k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
9 回答1.7k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答1.3k 阅读
6 回答1.5k 阅读
1 回答10k 阅读
2.5k 阅读
1 回答8.6k 阅读
1 回答6.3k 阅读✓ 已解决
1 回答4.2k 阅读✓ 已解决
参考githubvue-router/issues/3221
大概原因是vue-router包升级后,使用router.push方法会抛出一个异常,需要手动接受处理下,低版本则没有这个问题。
简单解决方法:
使用router.push后,用catch接收下就不会抛出这个错误了。