Vue Router 报错 Redirected when going from "/xxx" to "/xxx" via a navigation guard?

作者站长头像
站长
· 阅读数 8

Vue Router 报错 Redirected when going from "/xxx" to "/xxx" via a navigation guard? 什么原因导致报错?

页面一开始我已经进入了一次/home,然后我通过this.$router.push(/xxx)跳转了,之后我再router.push(/home)就会提示这个错误?什么原因出现的这个错误呢?如何修改?

回复
1个回答
avatar
test
2024-07-01

可能原因是:

vue-router路由版本更新产生的问题,导致路由跳转失败抛出该错误;真正的原因是由于返回了一个Promise对象, 正常的跳转由then方法执行 当正常的路由跳转, 被"路由导航守卫"拦截并重新指定路由时, 由于 this.$router.push() 返回的是Promise对象, 此时then方法不能正常执行, 无法跳转到指定路由, 就触发了该对象的捕获错误的方法, throw抛出错误, 但并不影响程序功能.https://blog.csdn.net/weixin_46873254/article/details/119358833
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容