打開一個頁面a,然后token過期,自動跳回登錄頁,通過路由傳參的方式將頁面a的路徑傳給登錄頁,登錄成功之后,在使用參數(shù)跳轉(zhuǎn)回頁面a,但是這時候頁面a右上角有一個返回按鈕,里面是$router.back(),這時候點(diǎn)擊返回按鈕,就直接返回了登錄頁,然后登陸之后又返回頁面a,頁面a點(diǎn)擊返回又回到登錄頁,一直往復(fù)循環(huán),請問有沒有什么好的解決方案
1 回答

縹緲止盈
TA貢獻(xiàn)2041條經(jīng)驗(yàn) 獲得超4個贊
建議你這樣試試看:
登錄頁跳轉(zhuǎn)到A頁面的時候使用router.replace方法, 替換掉當(dāng)前的路由棧
在A頁面寫路由守衛(wèi)beforeRouteLeave鉤子函數(shù),判斷將要去的頁面是否為登錄頁面,如果是則不執(zhí)行next方法
兩種方式的優(yōu)劣
第一種方式比較簡單直接,而且代碼較容易維護(hù)
第二種路由守衛(wèi)的方式雖然可以解決問題單有點(diǎn)殺雞用牛刀的意味了,針對你的需求,從代碼維護(hù)角度考慮,有點(diǎn)成本。
添加回答
舉報(bào)
0/150
提交
取消