Vue-router 路由攔截

路由攔截

當(dāng)某些頁面需要權(quán)限訪問時(shí),可以使用路由攔截對(duì)用戶權(quán)限進(jìn)行判斷。

實(shí)現(xiàn)

在自定義路由時(shí)添加自定義字段 requireAuth,用于判斷用戶是否已經(jīng)登錄,已經(jīng)登錄的用戶可以跳轉(zhuǎn),否則將重定向到登錄頁面。

const router = new Router({
    routes:[
        {
            path: '/',
            name: 'Index',
            compnent: Index,
            meta: {
                requireAuth: true
            }
        }
    ]
})

vue-router 提供了導(dǎo)航守衛(wèi)來通過跳轉(zhuǎn)或取消的方式守衛(wèi)導(dǎo)航。

導(dǎo)航表示路由正在發(fā)生改變,使用 router.beforeEach()注冊(cè)全局守衛(wèi),在每次導(dǎo)航時(shí)判斷用戶是否已經(jīng)登錄。

router.forEach((to, from, next) => {
    if (to.some(r => r.meta.requireAuth)){
        if (store.state.token){
            next()
        } else {
            next({
                path:'/user/login',
                query:{ redirect:to.fullPath }
            })
        }
    } else {
        next()
    }
})

路由攔截經(jīng)常會(huì)與http請(qǐng)求攔截及響應(yīng)攔截配合使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,001評(píng)論 25 709
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 13,973評(píng)論 2 59
  • 學(xué)習(xí)目的 學(xué)習(xí)Vue的必備技能,必須 熟練使用 Vue-router,能夠在實(shí)際項(xiàng)目中運(yùn)用。 Vue-rout...
    _1633_閱讀 92,899評(píng)論 3 58
  • “這是最好的時(shí)代,這是最壞的時(shí)代”盜用那個(gè)名著中的話,我很想說,這是最好的年紀(jì),這是最壞的年紀(jì)。 我年輕,我有時(shí)...
    風(fēng)雨之夕閱讀 440評(píng)論 2 0
  • http://m.juzimi.com/ju/312317 沉重。
    塵世苦海閱讀 188評(píng)論 0 1

友情鏈接更多精彩內(nèi)容