国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

關(guān)于Vue Router中路由守衛(wèi)的應(yīng)用及在全局導(dǎo)航守衛(wèi)中檢查元字段的

2024-05-06 15:27:26
字體:
供稿:網(wǎng)友

 #在切換路由時,組件會被復(fù)用,不過,這也意味著組件的生命周期鉤子不會再被調(diào)用。

   解決辦法有兩種,1簡單地 watch (監(jiān)測變化) $route 對象:

const User = { template: '...', watch: {  '$route' (to, from) {   // 對路由變化作出響應(yīng)...  } }}

    2.使用 2.2 中引入的 beforeRouteUpdate 導(dǎo)航守衛(wèi):

const User = { template: '...', beforeRouteUpdate (to, from, next) {  // react to route changes...  // don't forget to call next() }}

#全局守衛(wèi)

你可以使用 router.beforeEach 注冊一個全局前置守衛(wèi):

const router = new VueRouter({ ... })router.beforeEach((to, from, next) => { // ...})

•to: Route: 即將要進入的目標(biāo) 路由對象

•from: Route: 當(dāng)前導(dǎo)航正要離開的路由

•next: Function: 一定要調(diào)用該方法來 resolve 這個鉤子

#全局解析守衛(wèi)

在 2.5.0+ 你可以用 router.beforeResolve 注冊一個全局守衛(wèi)。這和 router.beforeEach 類似,區(qū)別是在導(dǎo)航被確認(rèn)之前,同時在所有組件內(nèi)守衛(wèi)和異步路由組件被解析之后,解析守衛(wèi)就被調(diào)用。

#全局后置鉤子

你也可以注冊全局后置鉤子,然而和守衛(wèi)不同的是,這些鉤子不會接受 next 函數(shù)也不會改變導(dǎo)航本身:

router.afterEach((to, from) => { // ...})

#路由獨享的守衛(wèi)

你可以在路由配置上直接定義 beforeEnter 守衛(wèi)

const router = new VueRouter({ routes: [  {   path: '/foo',   component: Foo,   beforeEnter: (to, from, next) => {    // ...   }  } ]})

這些守衛(wèi)與全局前置守衛(wèi)的方法參數(shù)是一樣的。

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

你可以在路由組件內(nèi)直接定義以下路由導(dǎo)航守衛(wèi):

const Foo = { template: `...`, beforeRouteEnter (to, from, next) {  // 在渲染該組件的對應(yīng)路由被 confirm 前調(diào)用  // 不!能!獲取組件實例 `this`  // 因為當(dāng)守衛(wèi)執(zhí)行前,組件實例還沒被創(chuàng)建 }, beforeRouteUpdate (to, from, next) {  // 在當(dāng)前路由改變,但是該組件被復(fù)用時調(diào)用  // 舉例來說,對于一個帶有動態(tài)參數(shù)的路徑 /foo/:id,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時候,  // 由于會渲染同樣的 Foo 組件,因此組件實例會被復(fù)用。而這個鉤子就會在這個情況下被調(diào)用。  // 可以訪問組件實例 `this` }, beforeRouteLeave (to, from, next) {  // 導(dǎo)航離開該組件的對應(yīng)路由時調(diào)用  // 可以訪問組件實例 `this` }}

beforeRouteEnter 守衛(wèi) 不能 訪問 this,因為守衛(wèi)在導(dǎo)航確認(rèn)前被調(diào)用,因此即將登場的新組件還沒被創(chuàng)建。

不過,你可以通過傳一個回調(diào)給 next來訪問組件實例。在導(dǎo)航被確認(rèn)的時候執(zhí)行回調(diào),并且把組件實例作為回調(diào)方法的參數(shù)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 鹿泉市| 横山县| 揭阳市| 景泰县| 广河县| 红安县| 金湖县| 香港 | 汝阳县| 同德县| 湘阴县| 浑源县| 连云港市| 新郑市| 安阳市| 长岛县| 富源县| 高青县| 齐齐哈尔市| 上栗县| 涞水县| 华阴市| 江门市| 肥乡县| 西安市| 慈溪市| 施甸县| 定日县| 沁水县| 罗山县| 大荔县| 宝兴县| 望谟县| 南江县| 雅安市| 交城县| 莒南县| 古浪县| 丹凤县| 乌什县| 罗田县|