vue路由攔截的三種方法小結(jié)
1.全局前置守衛(wèi)
Vue Router 提供了全局前置守衛(wèi),它可以在路由切換之前對(duì)請(qǐng)求進(jìn)行攔截。全局前置守衛(wèi)可以用來檢查用戶是否已經(jīng)登錄,或者檢查用戶是否具有訪問該頁面的權(quán)限。在router/index.js 中添加以下代碼
export function createRouterGuards(){ try{ router.beforeEach((to,from,next)=>{ if(to.meta.noLogin){ next() }else{ if(getSessionStorage('token')){ if(getSessionStorage('menuCodeList').includes(to.meta.menuCode)){ next() } } } }) } }
2.路由獨(dú)享守衛(wèi)
在Vue Router 中,可以為每個(gè)路由單獨(dú)設(shè)置守衛(wèi),這種守衛(wèi)成為路由獨(dú)享的守衛(wèi)。路由獨(dú)享的守衛(wèi)可以用來檢查路由參數(shù)、調(diào)用異步接口、處理數(shù)據(jù)等。在router/index.js 中添加以下代碼
const router = new VueRouter({ routes:[{ path:'/example/:id', component:Example, beforeEnter:(to,from,next)=>{ const id = to.params.id if(id > 0 && id < 100){ next() }else{ next('/error') } } }] })
這個(gè)代碼片段會(huì)在路由 /example/:id 的切換之前執(zhí)行,檢查傳入的參數(shù) id 是否滿足條件,如果不滿足則跳轉(zhuǎn)到 /error 頁面,否則就繼續(xù)進(jìn)行路由切換。路由獨(dú)享的守衛(wèi)是一種非常靈活的路由攔截方式,可以讓我們更靈活地控制路由的切換
3.全局后置鉤子
與全局前置守衛(wèi)類似,Vue Router 還提供了全局后置鉤子,它可以在路由切換之后對(duì)響應(yīng)進(jìn)行攔截。全局后置鉤子可以用來處理路由切換之后的一些邏輯問題,如頁面統(tǒng)計(jì)、錯(cuò)誤處理等。在router/index.js 中添加以下代碼
router.afterEach((to,from)=>{ const currentPath = to.path; const params = to.params; console.log(`切換到${currentPath}頁面,路由參數(shù)為${JSON.stringify(params)}`) })
這個(gè)代碼片段會(huì)在每次路由切換之后執(zhí)行,輸出當(dāng)前路由頁面的路徑和參數(shù)。通過全局后置鉤子,我們可以更好地了解路由狀態(tài)和相應(yīng)的結(jié)果,以便對(duì)項(xiàng)目進(jìn)行下一步的開發(fā)和測(cè)試。
以上就是vue路由攔截的三種方法小結(jié)的詳細(xì)內(nèi)容,更多關(guān)于vue路由攔截的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Vue3.0 響應(yīng)式系統(tǒng)源碼逐行分析講解
這篇文章主要介紹了Vue3.0 響應(yīng)式系統(tǒng)源碼逐行分析講解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10vue項(xiàng)目實(shí)現(xiàn)github在線預(yù)覽功能
這篇文章主要介紹了vue項(xiàng)目實(shí)現(xiàn)github在線預(yù)覽功能,本文通過提問兩個(gè)問題帶領(lǐng)大家一起學(xué)習(xí)整個(gè)過程,需要的朋友可以參考下2018-06-06Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐
本文主要介紹了Vue+UpLoad實(shí)現(xiàn)上傳預(yù)覽和刪除圖片的實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02vue構(gòu)建動(dòng)態(tài)表單的方法示例
這篇文章主要介紹了vue構(gòu)建動(dòng)態(tài)表單的方法示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09vue3?setup語法糖各種語法新特性的使用方法(vue3+vite+pinia)
這篇文章主要介紹了vue3?setup語法糖各種語法新特性的使用(vue3+vite+pinia),本文主要是記錄vue3的setup語法糖的各種新語法的使用方法,需要的朋友可以參考下2022-09-09vue項(xiàng)目引入svg圖標(biāo)的完整步驟
在實(shí)際的項(xiàng)目開發(fā)中,使用svg圖標(biāo)占用內(nèi)存比圖片更小,映入圖片內(nèi)存比較大,同時(shí)也適用于不同屏幕的尺寸,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目引入svg圖標(biāo)的完整步驟,需要的朋友可以參考下2022-10-10