国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Vue路由守衛(wèi)有哪些,怎么設(shè)置,有哪些使用場景?

2023-05-15 09:52 作者:云和數(shù)據(jù)何老師  | 我要投稿

編輯搜圖

編輯切換為居中

Vue 路由守衛(wèi)是在 Vue Router 中提供的一種功能,它允許您在導(dǎo)航到某個路由前、路由變化時或?qū)Ш诫x開某個路由時執(zhí)行代碼。Vue 路由守衛(wèi)提供了以下幾種類型:

  1.全局前置守衛(wèi)

  router.beforeEach 在進入路由前執(zhí)行的鉤子函數(shù),它會接收三個參數(shù):to(要進入的路由對象)、from(當前導(dǎo)航正要離開的路由對象)和 next(必須調(diào)用該函數(shù)才能進入下一個鉤子)。

  2.全局解析守衛(wèi)

  router.beforeResolve 在路由解析之前執(zhí)行的鉤子函數(shù),也會接收 to、from 和 next 參數(shù)。與 beforeEach 的區(qū)別在于,該守衛(wèi)在全局守衛(wèi)中被最后調(diào)用,因此它在所有路由組件內(nèi)的守衛(wèi)和異步路由組件被解析之后才被調(diào)用。

  3.全局后置鉤子

  router.afterEach 在進入路由后執(zhí)行的鉤子函數(shù),它不接收 next 函數(shù),也不能改變導(dǎo)航。

  4.路由獨享守衛(wèi)

  beforeEnter 在路由配置中定義的鉤子函數(shù),它會在路由被激活之前調(diào)用。它和全局前置守衛(wèi)的參數(shù)一樣,但是只對該路由生效。

  5.組件內(nèi)的守衛(wèi)

  ·beforeRouteEnter:在路由進入時異步加載組件前調(diào)用。

  ·beforeRouteUpdate:在當前路由改變,但是該組件被復(fù)用時調(diào)用(例如,從 /users/1 導(dǎo)航到 /users/2 時)。

  ·beforeRouteLeave:在離開當前路由時調(diào)用。

  要設(shè)置路由守衛(wèi),可以在路由實例的配置對象中添加相應(yīng)的屬性。例如,設(shè)置全局前置守衛(wèi)可以這樣寫:

const?router?=?new?VueRouter({
??routes:?[...],
})

router.beforeEach((to,?from,?next)?=>?{
??//?...
})

  使用場景包括但不限于:

  1.驗證用戶權(quán)限:在進入某些頁面之前檢查用戶是否已登錄或是否有權(quán)限訪問該頁面。

  2.加載數(shù)據(jù):在進入頁面前加載必要的數(shù)據(jù),例如在組件內(nèi)使用 beforeRouteEnter 鉤子函數(shù)異步獲取數(shù)據(jù)。

  3.路由重定向:在進入某些頁面時需要重定向到另一個頁面,例如在全局前置守衛(wèi)中檢查用戶是否已登錄并將未登錄用戶重定向到登錄頁面。

  4.路由攔截:在某些情況下需要取消路由導(dǎo)航,例如在組件內(nèi)使用 beforeRouteLeave 鉤子函數(shù)防止用戶誤操作離開當前頁面。

ue 路由守衛(wèi)是在 Vue Router 中提供的一種功能,它允許您在導(dǎo)航到某個路由前、路由變化時或?qū)Ш诫x開某個路由時執(zhí)行代碼。Vue 路由守衛(wèi)提供了以下幾種類型:

  1.全局前置守衛(wèi)

  router.beforeEach 在進入路由前執(zhí)行的鉤子函數(shù),它會接收三個參數(shù):to(要進入的路由對象)、from(當前導(dǎo)航正要離開的路由對象)和 next(必須調(diào)用該函數(shù)才能進入下一個鉤子)。

  2.全局解析守衛(wèi)

  router.beforeResolve 在路由解析之前執(zhí)行的鉤子函數(shù),也會接收 to、from 和 next 參數(shù)。與 beforeEach 的區(qū)別在于,該守衛(wèi)在全局守衛(wèi)中被最后調(diào)用,因此它在所有路由組件內(nèi)的守衛(wèi)和異步路由組件被解析之后才被調(diào)用。

  3.全局后置鉤子

  router.afterEach 在進入路由后執(zhí)行的鉤子函數(shù),它不接收 next 函數(shù),也不能改變導(dǎo)航。

  4.路由獨享守衛(wèi)

  beforeEnter 在路由配置中定義的鉤子函數(shù),它會在路由被激活之前調(diào)用。它和全局前置守衛(wèi)的參數(shù)一樣,但是只對該路由生效。

  5.組件內(nèi)的守衛(wèi)

  ·beforeRouteEnter:在路由進入時異步加載組件前調(diào)用。

  ·beforeRouteUpdate:在當前路由改變,但是該組件被復(fù)用時調(diào)用(例如,從 /users/1 導(dǎo)航到 /users/2 時)。

  ·beforeRouteLeave:在離開當前路由時調(diào)用。

  要設(shè)置路由守衛(wèi),可以在路由實例的配置對象中添加相應(yīng)的屬性。例如,設(shè)置全局前置守衛(wèi)可以這樣寫:

const?router?=?new?VueRouter({
??routes:?[...],
})

router.beforeEach((to,?from,?next)?=>?{
??//?...
})

  使用場景包括但不限于:

  1.驗證用戶權(quán)限:在進入某些頁面之前檢查用戶是否已登錄或是否有權(quán)限訪問該頁面。

  2.加載數(shù)據(jù):在進入頁面前加載必要的數(shù)據(jù),例如在組件內(nèi)使用 beforeRouteEnter 鉤子函數(shù)異步獲取數(shù)據(jù)。

  3.路由重定向:在進入某些頁面時需要重定向到另一個頁面,例如在全局前置守衛(wèi)中檢查用戶是否已登錄并將未登錄用戶重定向到登錄頁面。

  4.路由攔截:在某些情況下需要取消路由導(dǎo)航,例如在組件內(nèi)使用 beforeRouteLeave 鉤子函數(shù)防止用戶誤操作離開當前頁面。



Vue路由守衛(wèi)有哪些,怎么設(shè)置,有哪些使用場景?的評論 (共 條)

分享到微博請遵守國家法律
岑巩县| 格尔木市| 永胜县| 宜丰县| 清徐县| 嘉善县| 南昌市| 纳雍县| 洪雅县| 普宁市| 永新县| 泰兴市| 山阴县| 阜新| 玉树县| 绥德县| 安多县| 玉林市| 漯河市| 鱼台县| 鄂托克前旗| 莱阳市| 凌海市| 凯里市| 南昌市| 县级市| 丰都县| 额敏县| 治县。| 承德县| 彭州市| 弥勒县| 罗源县| 敦煌市| 福建省| 黄平县| 江川县| 沈阳市| 襄城县| 林州市| 伊宁市|