vue-router

問:需要用戶沒有登錄時先跳到登錄頁,怎么做?
一開始這樣寫:

router.beforeEach((to, from, next) => {
    let token = localStorage.getItem('token');
    if(token != null){
        next();
    }
    else{
        next({
            path : '/login'
        });
    }
});

結(jié)果發(fā)現(xiàn)當用戶沒有登錄時,頁面路由不停跳轉(zhuǎn),怎么回事?
答:因為路由不停地走router.beforeEach里的else語句,跳到'/login'路由以后,又跳到'/login'了,這樣就陷入死循環(huán)了,目前我的解決方案是在router.beforeEach里對'/login'路由進行特殊處理:

router.beforeEach((to, from, next) => {
    let token = localStorage.getItem('token');
    if(to.path == '/login'){
        next();
    }
    if(token != null){
        next();
    }
    else{
        next({
            path : '/login'
        });
    }
});
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容