鍍金池/ 問答/Java  HTML/ vue-router 導(dǎo)航守衛(wèi) next({path:"/.....&

vue-router 導(dǎo)航守衛(wèi) next({path:"/....."}) 跳轉(zhuǎn)不了

我想通過一個判斷來決定初始頁面跳轉(zhuǎn)到哪里去 ,當(dāng)不滿足條件的時候,程序會一直執(zhí)行console但就是不跳轉(zhuǎn),這是什么原因?
clipboard.png

clipboard.png

回答
編輯回答
離人歸

choice-addView的時候也會進(jìn)守衛(wèi),然后沒做額外判斷,直接死循環(huán)。

2018年8月21日 21:07
編輯回答
只愛你

現(xiàn)在可以總結(jié)一下
當(dāng)執(zhí)行鉤子函數(shù)時 如果遇到next("/xxxx")時,會將原本的導(dǎo)航中斷,然后將to.path改成next中的地址,然后重新觸發(fā)這個離開的鉤子。注意:會重新觸發(fā)執(zhí)行這個鉤子,而不是在這個鉤子函數(shù)中繼續(xù)執(zhí)行。以前只認(rèn)為next("/xxx")就直接去跳轉(zhuǎn)了。所以當(dāng)重新觸發(fā)后就會繼續(xù)執(zhí)行next('/xxxx')所以會一直循環(huán)。至于解決辦法就是判斷下,如果已經(jīng)是/xxxx了就next()。

2017年4月3日 19:07