main.js代碼://登錄攔截router.beforeEach((to, from, next) => { let myCookie = global.getCookie('token'); if (!myCookie && to.path != '/login'){
router.push('/login');
} else{
next();
}
});無論點哪個頁面,只要沒登錄就會跳到登錄頁。這是沒問題的然后改了需求,首頁不登錄也可以看到,所以我這樣改//登錄攔截router.beforeEach((to, from, next) => { let myCookie = global.getCookie('token'); if (!myCookie && to.path != '/'){
router.push('/login');
} else{
next();
}
});結果瀏覽器報了一個錯,這是什么原因啊?
1 回答

德瑪西亞99
TA貢獻1770條經驗 獲得超3個贊
你這樣是陷入了無線循環出現的錯誤,&&
的符號表示2個條件都要滿足,才會滿足。以你后面的代碼給你分析,當你跳轉到/login
的時候,用于cookie
沒有值,同時to.path也是/login
所以,又會執行route.push('/login')
,所以就在無線的循環這個語句。。。邏輯錯誤
- 1 回答
- 0 關注
- 455 瀏覽
添加回答
舉報
0/150
提交
取消