關(guān)于vue-router的beforeEach無限循環(huán)的問題解決
最近在使用vue-router的beforeEach鉤子時(shí)候遇到了一個(gè)問題,就是在beforeEach()中設(shè)置好判斷條件后出現(xiàn)了無限循環(huán)的問題
代碼如下:
router.beforeEach((to, from, next) => { if(isLogin){ next() }else{ console.log('測(cè)試') next('login') } })
結(jié)果chrome的debug中看到:
這個(gè)問題我是這樣理解的:
router.beforeEach((to, from, next) => { if(true){ next() }else{ next('login') } })
- next() 表示路由成功,直接進(jìn)入to路由,不會(huì)再次調(diào)用router.beforeEach()
- next('login') 表示路由攔截成功,重定向至login,會(huì)再次調(diào)用router.beforeEach()
也就是說beforeEach()必須調(diào)用next(),否則就會(huì)出現(xiàn)無限循環(huán),next() 和 next('xxx') 是不一樣的,區(qū)別就是前者不會(huì)再次調(diào)用router.beforeEach(),后者會(huì)?。?!
官網(wǎng)這樣寫的(主要是紅線標(biāo)記的那句?。?/p>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Vue狀態(tài)機(jī)的開啟與停止操作詳細(xì)講解
Vuex是專門為Vuejs應(yīng)用程序設(shè)計(jì)的狀態(tài)管理工具,這篇文章主要給大家介紹了關(guān)于Vuex狀態(tài)機(jī)快速了解與實(shí)例應(yīng)用的相關(guān)資料,需要的朋友可以參考下2023-01-01vue項(xiàng)目實(shí)現(xiàn)對(duì)某個(gè)區(qū)域繪制水印
這篇文章主要為大家詳細(xì)介紹了vue項(xiàng)目實(shí)現(xiàn)對(duì)某個(gè)區(qū)域繪制水印,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource
本篇文章主要介紹了詳解vue與后端數(shù)據(jù)交互(ajax):vue-resource,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-03-03