亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

VueRouter進階(1)-導(dǎo)航守衛(wèi)

renweihub / 1749人閱讀

摘要:簡介主要用來通過跳轉(zhuǎn)或取消的方式守衛(wèi)導(dǎo)航。判斷必要操作是否進行沒進行的話中斷跳轉(zhuǎn)。進行管道中的下一個鉤子。如果全部鉤子執(zhí)行完了,則導(dǎo)航的狀態(tài)就是確認的。中斷當(dāng)前的導(dǎo)航。如果傳入的參數(shù)是一個實例,則導(dǎo)航會被終止且該錯誤會被傳遞給注冊過的回調(diào)。

簡介

主要用來通過跳轉(zhuǎn)或取消的方式守衛(wèi)導(dǎo)航。
例如判斷登錄信息:沒登錄全部跳到登錄頁。判斷必要操作是否進行沒進行的話中斷跳轉(zhuǎn)。

分為三大類:全局守衛(wèi)、路由守衛(wèi)、組件守衛(wèi)

全局守衛(wèi)
 1. beforeEach
 2. beforeResolve
 3. afterEach
路由守衛(wèi)
1. beforeEnter
組件守衛(wèi)
 1. beforeRouteEnter
    // 在渲染該組件的對應(yīng)路由被 confirm 前調(diào)用
    // 不!能!獲取組件實例 `this`
    // 因為當(dāng)守衛(wèi)執(zhí)行前,組件實例還沒被創(chuàng)建
    雖然無法直接獲取組件實力
    但是我們可以通過next參數(shù)的回調(diào)函數(shù)獲取到當(dāng)前實例進行操作
    beforeRouteEnter: (to, from, next) => {
        next((vm) => {
            //vm就是當(dāng)前組件實例
        });
    }
 2. beforeRouteUpdate
    // 在當(dāng)前路由改變,但是該組件被復(fù)用時調(diào)用
    // 舉例來說,對于一個帶有動態(tài)參數(shù)的路徑 /foo/:id,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時候,
    // 由于會渲染同樣的 Foo 組件,因此組件實例會被復(fù)用。而這個鉤子就會在這個情況下被調(diào)用。
    // 可以訪問組件實例 `this`
 3. beforeRouteLeave
    // 導(dǎo)航離開該組件的對應(yīng)路由時調(diào)用
    // 可以訪問組件實例 `this`
參數(shù)介紹

這些導(dǎo)航守衛(wèi)涉及到的參數(shù):to、from、next
除了全局守衛(wèi)的afterEach只有to和from外其余都有三個參數(shù)

(摘抄自官網(wǎng))
to: Route: 即將要進入的目標 路由對象

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

next: Function: 一定要調(diào)用該方法來 resolve 這個鉤子。執(zhí)行效果依賴 next 方法的調(diào)用參數(shù)。

    next(): 進行管道中的下一個鉤子。如果全部鉤子執(zhí)行完了,則導(dǎo)航的狀態(tài)就是 confirmed (確認的)。
    next(false): 中斷當(dāng)前的導(dǎo)航。如果瀏覽器的 URL 改變了(可能是用戶手動或者瀏覽器后退按鈕),那么 URL 地址會重置到 from 路由對應(yīng)的地址。
    next("/") 或者 next({ path: "/" }): 跳轉(zhuǎn)到一個不同的地址。當(dāng)前的導(dǎo)航被中斷,然后進行一個新的導(dǎo)航。
    next(error): (2.4.0+) 如果傳入 next 的參數(shù)是一個 Error 實例,則導(dǎo)航會被終止且該錯誤會被傳遞給 router.onError() 注冊過的回調(diào)。
運行機制

上圖(別問我圖是誰):(流程圖通過https://www.processon.com 進行繪制)

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/90393.html

相關(guān)文章

  • Vue-router進階導(dǎo)航守衛(wèi)

    摘要:全局前置守衛(wèi)使用注冊一個全局前置守衛(wèi)。守衛(wèi)是異步解析執(zhí)行,此時導(dǎo)航在所有守衛(wèi)完之前一直處于等待中。中斷當(dāng)前的導(dǎo)航。不過可以通過傳一個回調(diào)函數(shù)來訪問組建實例。注意是支持傳遞回調(diào)的唯一守衛(wèi)。用創(chuàng)建好的實例調(diào)用守衛(wèi)中傳給的回調(diào)函數(shù)。 全局前置守衛(wèi) 使用router.beforeEach注冊一個全局前置守衛(wèi)。 const router = new VueRouter({...}) router...

    tommego 評論0 收藏0
  • VueRouter進階(2)-路由元信息

    摘要:簡單介紹主人公字段介紹我們稱每個路由對象為路由記錄,路由記錄可以嵌套。所以到我們匹配到一個路有的時候他有可能有多條路由記錄。 路由元信息 為什么會有這個東西呢?我們知道我們?yōu)g覽一些網(wǎng)站的時候有需要驗證登錄的也有不需要驗證登錄的,如果所有頁面都在做成驗證登錄的話對于用戶的體驗也是極差的,所以這個時候路由元信息就起到了很大的作用。 簡單介紹 主人公:meta字段 介紹:我們稱每個路由對象為...

    CoXie 評論0 收藏0
  • 19/3/31學(xué)習(xí)筆記

    摘要:在失活的組件里調(diào)用離開守衛(wèi)。調(diào)用全局的守衛(wèi)。用創(chuàng)建好的實例調(diào)用守衛(wèi)中傳給的回調(diào)函數(shù)。路由元信息定義路由的時候可以配置字段 vue-router1 router-link 導(dǎo)航到不同組件 Go to Foo Go to Bar 定義路由const routes = [ { path: /foo, component: Foo }, { path: /bar, component: B...

    UnixAgain 評論0 收藏0
  • VueRouter

    摘要:當(dāng)對應(yīng)的路由匹配成功,將自動設(shè)置屬性值。執(zhí)行效果依賴方法的調(diào)用參數(shù)。而這個鉤子就會在這個情況下被調(diào)用。滾動行為只在支持的瀏覽器中可用。當(dāng)且僅當(dāng)導(dǎo)航通過瀏覽器的前進后退按鈕觸發(fā)時才可用。 當(dāng) 對應(yīng)的路由匹配成功,將自動設(shè)置 class 屬性值 .router-link-active 。 默認 hash 模式:使用 URL 的 hash 來模擬一個完整的 URL,于是當(dāng) URL 改變時...

    劉厚水 評論0 收藏0
  • Vue.js路由管理器 Vue Router

    摘要:可以從其他文件進來定義路由每個路由應(yīng)該映射一個組件。其中可以是通過創(chuàng)建的組件構(gòu)造器,或者,只是一個組件配置對象。我們晚點再討論嵌套路由。通過訪問組件實例更新的時候路由離開以通過來取消。路由懶加載參考路由懶加載 起步 HTML Hello App! Go to Foo Go to Bar JavaS...

    崔曉明 評論0 收藏0

發(fā)表評論

0條評論

renweihub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<