鍍金池/ 問(wèn)答/Linux  HTML/ Vue 登錄攔截

Vue 登錄攔截

保存token以后,怎么實(shí)現(xiàn)點(diǎn)擊瀏覽器返回按鈕,不會(huì)回退到登錄頁(yè)面
圖片描述

回答
編輯回答
任她鬧

不一定非要在main.js里抓取每一次的router變動(dòng),只要在login頁(yè)面做處理就可以解決問(wèn)題。
在login頁(yè)里添加:

methods: {},
beforeRouteEnter (to, from, next) {
    if (!getToken()) { // 這里檢查是否獲取到cookie
       next()
    } else {
       next({
           path:"/" 
       })
    }
}
2018年8月18日 13:37
編輯回答
孤影

根據(jù)你貼出的代碼,多加個(gè)判斷就可以了,獲取到token的情況下判斷目的路由是不是/login

if (!getToken()) {
    ...
} else {
    if (to.path === '/login') {
        next({
            path: from.path
        })
    } else {
        ...
    }
}

額外的,你還可以在對(duì)請(qǐng)求統(tǒng)一攔截時(shí),加上狀態(tài)碼等判斷否已登錄

2018年6月10日 02:28