路由死循环报错‘vue-router.esm.js?8c4f:2181 RangeError: Maximum call stack size exceeded’

    技术2024-06-26  86

    跳转路由时加了一个导航守卫验证是否存在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,然后又进入导航守卫进行判断,然后又又又又,,,,然后陷入死循环

    Processed: 0.016, SQL: 9