亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于Vue2.X的路由和鉤子函數(shù)詳解

 更新時間:2018年02月09日 09:35:18   作者:settingSun66  
下面小編就為大家分享一篇基于Vue2.X的路由和鉤子函數(shù)詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

最近上班有些忙,好久沒有更新文章,也沒學(xué)習(xí)新的東西。

今天來說說這個路由鉤子吧。

導(dǎo)航和鉤子函數(shù):

導(dǎo)航:路由正在發(fā)生改變 關(guān)鍵字:路由 變

鉤子函數(shù):在路由切換的不同階段調(diào)用不同的節(jié)點函數(shù)(鉤子函數(shù)在我看來也就是:某個節(jié)點和時機觸發(fā)的函數(shù))。

鉤子函數(shù) 主要用來攔截導(dǎo)航,讓它完成跳轉(zhuǎn)或取消,在導(dǎo)航的不同階段來執(zhí)行不同的函數(shù) ,最后鉤子函數(shù)的執(zhí)行結(jié)果會告訴導(dǎo)航怎么做。。

導(dǎo)航在所有鉤子 resolve 完之前一直處于 等待中,等待鉤子函數(shù)告訴它下一步該怎么做。用next()來指定。

我來給大家舉個登陸的例子

router.beforeEach(({meta, path}, from, next) => {   
 
  const {auth = true} = meta  // meta代表的是to中的meta對象,path代表的是to中的path對象 
 
  var isLogin = Boolean(store.state.user.id) // true用戶已登錄, false用戶未登錄  
   
  if (auth && !isLogin && path !== '/login') { // auth 代表需要通過用戶身份驗證,默認為true,代表需要被驗證, false為不用檢驗 
    return next({ path: '/login' }) // 跳轉(zhuǎn)到login頁面 
  } 
 
 
  next() // 進行下一個鉤子函數(shù) 
}) 

先說這個beforeEach的鉤子函數(shù),它是一個全局的before 鉤子函數(shù), (before each)意思是在 每次每一個路由改變的時候都得執(zhí)行一遍。

它的三個參數(shù):

to: (Route路由對象) 即將要進入的目標(biāo) 路由對象 to對象下面的屬性: path params query hash fullPath matched name meta(在matched下,但是本例可以直接用)

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

next: (Function函數(shù)) 一定要調(diào)用該方法來 resolve 這個鉤子。 調(diào)用方法:next(參數(shù)或者空) ***必須調(diào)用

next(無參數(shù)的時候): 進行管道中的下一個鉤子,如果走到最后一個鉤子函數(shù),那么 導(dǎo)航的狀態(tài)就是 confirmed (確認的)

next('/') 或者 next({ path: '/' }): 跳轉(zhuǎn)到一個不同的地址。當(dāng)前的導(dǎo)航被中斷,然后進行一個新的導(dǎo)航。

全局鉤子函數(shù)之 全局的afterEach鉤子:

after 鉤子沒有 next 方法,不能改變導(dǎo)航,代表已經(jīng)確定好了導(dǎo)航怎么去執(zhí)行后,附帶的一個執(zhí)行鉤子函數(shù)

組件內(nèi)的鉤子函數(shù):( beforeRouteEnter 和 beforeRouteLeave 再加一個 watch函數(shù) )

vue2.X的組件內(nèi)鉤子函數(shù)比vue1.X減少了許多。。

使用組件自身的生命周期鉤子函數(shù)來替代 activate 和 deactivate

在 $router 上使用 watcher 來響應(yīng)路由改變

canActivate 可以被 router 的配置中的 beforeEnter 中實現(xiàn)

canDeactivate 已經(jīng)被 beforeRouteLeave 取代, 后者在一個組件的根級定義中指定。這個鉤子函數(shù)在調(diào)用時是將組件的實例作為其上下文的。

canReuse 已經(jīng)被移除,因其容易混淆且很少被用到。

用ajax獲取數(shù)據(jù)的data(to, from, next) 鉤子用組件內(nèi) beforeRouteEnter (to, from, next)來替代

以上這篇基于Vue2.X的路由和鉤子函數(shù)詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue draggable實現(xiàn)從左到右拖拽功能

    Vue draggable實現(xiàn)從左到右拖拽功能

    這篇文章主要為大家詳細介紹了Vue draggable實現(xiàn)從左到右拖拽功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • Vue自定義部分頁面顯示導(dǎo)航欄功能

    Vue自定義部分頁面顯示導(dǎo)航欄功能

    這篇文章主要介紹了Vue自定義部分頁面顯示導(dǎo)航欄,在設(shè)計導(dǎo)航欄的時候,考慮到登錄之前不能瀏覽該網(wǎng)站,所以需要在登錄頁和注冊頁不能出現(xiàn)導(dǎo)航欄,登錄后的頁面才能出現(xiàn)導(dǎo)航欄,本文給大家解決這個問題,感興趣的朋友跟隨小編一起看看吧
    2022-10-10
  • Vue中的父子組件傳值.sync

    Vue中的父子組件傳值.sync

    這篇文章主要介紹了Vue中的父子組件傳值.sync,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • vue在data中定義變量后依舊報undefined的解決

    vue在data中定義變量后依舊報undefined的解決

    這篇文章主要介紹了vue在data中定義變量后依舊報undefined的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • Vue3 Suspense處理異步組件加載的工作原理

    Vue3 Suspense處理異步組件加載的工作原理

    Vue3在新版本中提供了一個新的API,稱為Suspense,它可以使異步組件的加載更加高效和流暢,在本文中,我們將詳細了解 Vue3 Suspense 處理異步組件加載的工作原理以及如何使用它來提高 Web 應(yīng)用程序的性能
    2023-06-06
  • vue3使用svg圖標(biāo)的多種方式總結(jié)

    vue3使用svg圖標(biāo)的多種方式總結(jié)

    svg圖片在項目中使用的非常廣泛,下面這篇文章主要給大家介紹了關(guān)于vue3使用svg圖標(biāo)的多種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-03-03
  • vue可視化大屏實現(xiàn)無線滾動列表飛入效果

    vue可視化大屏實現(xiàn)無線滾動列表飛入效果

    本文主要介紹了vue可視化大屏實現(xiàn)無線滾動列表飛入效果,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04
  • vue中利用three.js實現(xiàn)全景圖的完整示例

    vue中利用three.js實現(xiàn)全景圖的完整示例

    這篇文章主要給大家介紹了關(guān)于vue中利用three.js實現(xiàn)全景圖的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • vue指令v-html和v-text

    vue指令v-html和v-text

    這篇文章主要介紹了 vue指令v-html和v-text,文章圍繞vue指令v-html和v-text的相關(guān)資料展開詳細內(nèi)容,需要的小伙伴可以參考一下,希望對大家有所幫助
    2021-11-11
  • vue項目中引入noVNC遠程桌面的方法

    vue項目中引入noVNC遠程桌面的方法

    下面小編就為大家分享一篇vue項目中引入noVNC遠程桌面的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論