關(guān)于vue-router的beforeEach無限循環(huán)的問題解決
最近在使用vue-router的beforeEach鉤子時候遇到了一個問題,就是在beforeEach()中設(shè)置好判斷條件后出現(xiàn)了無限循環(huán)的問題
代碼如下:
router.beforeEach((to, from, next) => {
if(isLogin){
next()
}else{
console.log('測試')
next('login')
}
})
結(jié)果chrome的debug中看到:

這個問題我是這樣理解的:
router.beforeEach((to, from, next) => {
if(true){
next()
}else{
next('login')
}
})
- next() 表示路由成功,直接進(jìn)入to路由,不會再次調(diào)用router.beforeEach()
- next('login') 表示路由攔截成功,重定向至login,會再次調(diào)用router.beforeEach()
也就是說beforeEach()必須調(diào)用next(),否則就會出現(xiàn)無限循環(huán),next() 和 next('xxx') 是不一樣的,區(qū)別就是前者不會再次調(diào)用router.beforeEach(),后者會?。。?/p>
官網(wǎng)這樣寫的(主要是紅線標(biāo)記的那句?。?/p>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue狀態(tài)機(jī)的開啟與停止操作詳細(xì)講解
Vuex是專門為Vuejs應(yīng)用程序設(shè)計的狀態(tài)管理工具,這篇文章主要給大家介紹了關(guān)于Vuex狀態(tài)機(jī)快速了解與實(shí)例應(yīng)用的相關(guān)資料,需要的朋友可以參考下2023-01-01
vue項目實(shí)現(xiàn)對某個區(qū)域繪制水印
這篇文章主要為大家詳細(xì)介紹了vue項目實(shí)現(xiàn)對某個區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09
詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource
本篇文章主要介紹了詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03

