当前位置 : 主页 > 网络编程 > 其它编程 >

vuerouterbeforeEach死循环

来源:互联网 收集:自由互联 发布时间:2023-07-02
router.beforeEach((to,from,next)={constisLogin=sessionStorage.getItem(loginData) router.beforeEach((to, from, next) = { const isLogin = sessionStorage.getItem('loginData') if (isLogin) { next() } else { next('/error') }}) 最近在使用时,
router.beforeEach((to,from,next)={constisLogin=sessionStorage.getItem(loginData)

router.beforeEach((to, from, next) = { const isLogin = sessionStorage.getItem('loginData') if (isLogin) { next() } else { next('/error') }})

最近在使用时,一直陷入死循环,当时的想法是如何将路由提取出来,脱离beforeEach的控制,之后发现不可行。上面问题再现,会出现死循环,因为 /error 会在进入前 又要进入beforeEach中 ,这样就会一直循环下去

所以就是想如何跳出这个循环即可

router.beforeEach((to, from, next) = { const isLogin = sessionStorage.getItem('loginData') if (isLogin) { next() } else { //next('/error') if (to.path === '/error') { //这就是跳出循环的关键 next() } else { next('/error') } }})

这样写,其实这个会执行两次,第二次进来是以/error的路由进来的

总结

看文档也需要 实践哈

   

上一篇:使用JavaScript怎么实现自动锁屏功能
下一篇:没有了
网友评论