最近在使用vue-router的beforeEach鉤子時候遇到了一個問題,就是在beforeEach()中設置好判斷條件后出現(xiàn)了無限循環(huán)的問題
代碼如下:
創(chuàng)新互聯(lián)建站成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都做網(wǎng)站、成都網(wǎng)站設計網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元城西做網(wǎng)站,已為上家服務,為城西各地企業(yè)和個人服務,聯(lián)系電話:18982081108
router.beforeEach((to, from, next) => { if(isLogin){ next() }else{ console.log('測試') next('login') } })
結果chrome的debug中看到:
這個問題我是這樣理解的:
router.beforeEach((to, from, next) => { if(true){ next() }else{ next('login') } })
也就是說beforeEach()必須調用next(),否則就會出現(xiàn)無限循環(huán),next() 和 next('xxx') 是不一樣的,區(qū)別就是前者不會再次調用router.beforeEach(),后者會?。?!
官網(wǎng)這樣寫的(主要是紅線標記的那句!):
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。