路由死循环报错‘vue-router.esm.js?8c4f:2181 RangeError: Maximum call stack size exceeded’
跳转路由时加了一个导航守卫验证是否存在token,没有则跳转登录页面错误提示:RangeError: Maximum call stack size exceeded错误代码:// 是否带有token值,有的话正常跳转,没有的话就跳转login页面router.beforeEach((to, from, next) => {if (!window.sessionStorage.getItem
·
跳转路由时加了一个导航守卫验证是否存在token,没有则跳转登录页面
错误提示:
RangeError: Maximum call stack size exceeded
错误代码:
// 是否带有token值,有的话正常跳转,没有的话就跳转login页面
router.beforeEach((to, from, next) => {
if (!window.sessionStorage.getItem('mytoken')) return next('/login')
next()
})
解决方案:
// 是否带有token值,有的话正常跳转,没有的话就跳转login页面
router.beforeEach((to, from, next) => {
if (to.path === '/login') return next()
if (!window.sessionStorage.getItem('mytoken')) return next('/login')
next()
})
错误原因:
我觉得应该是路由跳转那里的导航守卫那里不写if (to.path === '/login') return next()
的话,不带token值,就会进入导航守卫判断,然后跳转/login,然后又进入导航守卫进行判断,然后又又又又,,,,然后陷入死循环
更多推荐
已为社区贡献2条内容
所有评论(0)