总结:Vue项目中的报错:vue-router.esm.js?8b48:2007 Uncaught (in promise)

遇到的情景:

router.beforeEach((to,from,next) => {
    const flag = sessionStorage.getItem("isLogin");
    if(!token){
        next('/login)
    }else{
        next();
    }
});

因为如果我们手动在地址栏填写路径'/login'或者项目默认进入时登录页的时候就会报错,根据报错提示为死循环
解决办法:
在限制条件把去登录页单独拿出来判断

router.beforeEach((to,from,next) => {
    const flag = sessionStorage.getItem("isLogin");
    if(!token && to.name.indexOf('login') < 0){
        next('/login)
    }else{
        next();
    }
});

 

你可能感兴趣的:(前端,vue)