Uncaught (in promise) Error: Redirected when going from “/login“ to “/home“ via a navigation guard.
vue踩坑:vue路由守卫,控制台一直报错:Uncaught (in promise) Error: Redirected when going from “/login” to “/home” via a navigation guard.由于项目需要登录,所以需要每次判断token是否为登录状态,所以使用了路由守卫。在没有登录的情况下,跳转首页的时候,虽然被拦截了,但是控制台出现了一条报错(标
·
vue踩坑:vue路由守卫,控制台一直报错:Uncaught (in promise) Error: Redirected when going from “/login” to “/home” via a navigation guard.
由于项目需要登录,所以需要每次判断token是否为登录状态,所以使用了路由守卫。在没有登录的情况下,跳转首页的时候,虽然被拦截了,但是控制台出现了一条报错(标题为报错内容),看看了文档发现了问题。
一、原因:
主要因为路由一直被重定向,错误没有被抛出。
二、解决方案:
//login.vue
//路由跳转的位置(修改前)
this.$router.push({
path: "/home",
})
//修改后
this.$router.push({
path: "/home",
}).catch(()=>{
//此处可以添加一个弹窗,例如:
alert('请先登录')
})
三、总结
问题没有想象的那么复杂,只是在this.$router.push()后面添加.catch 错误回调就可以解决问题。
更多推荐
已为社区贡献3条内容
所有评论(0)