最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue中的導(dǎo)航守衛(wèi)使用及說明

 更新時(shí)間:2023年01月20日 09:49:49   作者:AIpoem  
這篇文章主要介紹了vue中的導(dǎo)航守衛(wèi)使用及說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

導(dǎo)航守衛(wèi)

  • 作用:對(duì)路由進(jìn)行權(quán)限控制
  • 分類:全局守衛(wèi)、獨(dú)享守衛(wèi)、組件內(nèi)守衛(wèi)

全局守衛(wèi)

const router = new VueRouter({
  routes: [
    {
      path: '/home',
      component: Home,
      meta: { isAuth: false },	// 不需要進(jìn)行權(quán)限控制
    },
     {
      path: '/user',
      component: User,
      meta: { isAuth: true },	// 需要進(jìn)行權(quán)限控制
    },
  ]
})
// 全局前置守衛(wèi):初始化時(shí)執(zhí)行/每次路由切換前執(zhí)行
router.beforeEach((to,from,next) => {
  if(to.meta.isAuth) {  // 判斷當(dāng)前路由是否需要進(jìn)行權(quán)限控制(在需要進(jìn)行權(quán)限控制的路由中配置isAuth屬性)
    if(localStorage.getItem('xxx') === 'xxx') { // 權(quán)限控制的具體規(guī)則
      next();   // 放行
    }else {
      ...
    }
  } else {  // 當(dāng)前路由不需要進(jìn)行權(quán)限控制
    next(); // 直接放行
  }
})
// 全局后置守衛(wèi):初始化時(shí)執(zhí)行,每次路由切換后執(zhí)行
router.afterEach((to,from) => {
  if(to.meta.title) {
    document.title = to.meta.title; // 修改網(wǎng)頁的title
  }else {
    document.title = 'xxx';
  }
})

獨(dú)享守衛(wèi)

加在某個(gè)路由的配置中

beforeEnter((to,from,next) => {
? if(to.meta.isAuth) { ?// 判斷當(dāng)前路由是否需要進(jìn)行權(quán)限控制(在需要進(jìn)行權(quán)限控制的路由中配置isAuth屬性)
? ? if(localStorage.getItem('xxx') === 'xxx') { // 權(quán)限控制的具體規(guī)則
? ? ? next(); ? // 放行
? ? }else {
? ? ? ...
? ? }
? } else { ?// 當(dāng)前路由不需要進(jìn)行權(quán)限控制
? ? next(); // 直接放行
? }
})

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

// 進(jìn)入守衛(wèi),通過路由規(guī)則,進(jìn)入該組件時(shí)被調(diào)用
beforeRouteEnter(to,from,next){
  ...
}
// 當(dāng)前路由改變,但是該組件被復(fù)用時(shí)調(diào)用
// 舉例來說,對(duì)于一個(gè)帶有動(dòng)態(tài)參數(shù)的路徑 /foo/:id,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時(shí)候,
// 由于會(huì)渲染同樣的 Foo 組件,組件實(shí)例會(huì)被復(fù)用。而這個(gè)鉤子就會(huì)被調(diào)用
beforeRouteUpdate(to,from,next{
  ...
}
// 離開守衛(wèi),通過路由規(guī)則,離開該組件時(shí)被調(diào)用
beforeRouteLeave(to,from,next){
  ...
}

vue導(dǎo)航守衛(wèi)有哪些

路由的鉤子函數(shù)有六個(gè)

  • 全局的路由鉤子函數(shù):beforeEach、afterEach
  • 單個(gè)路由的鉤子函數(shù):beforeEnter
  • 組件內(nèi)路由鉤子函數(shù):beforeRouteEnter、beforeRouteUpdate、beforeRouteLeave

全局路由鉤子函數(shù)

1、全局前置守衛(wèi): beforeEach(to, from, next)

router.beforeEach: 在每次每一個(gè)路由改變的時(shí)候都會(huì)執(zhí)行一遍

  • to:將要進(jìn)入的路由對(duì)象
  • from: 當(dāng)前正要離開的路由對(duì)象
  • next

next(),進(jìn)入下一個(gè)路由,必須調(diào)用,不然不會(huì)跳轉(zhuǎn)

next(false): 中斷當(dāng)前的導(dǎo)航。如果瀏覽器的 URL 改變了 (可能是用戶手動(dòng)或者瀏覽器后退按鈕),那么 URL 地址會(huì)重置到 from 路由對(duì)應(yīng)的地址。

next(’/’) 或者 next({ paht:’/’}):跳轉(zhuǎn)到一個(gè)不同的地址。當(dāng)前的導(dǎo)航會(huì)被中斷,然后進(jìn)行一個(gè)新的導(dǎo)航??蓚鬟f的參數(shù)可以是 router-link 標(biāo)簽中的 to 屬性參數(shù)或 router.push 中的選項(xiàng)

應(yīng)用場(chǎng)景:可進(jìn)行一些頁面跳轉(zhuǎn)前處理,例如判斷需要登錄的頁面進(jìn)行攔截,做登錄跳轉(zhuǎn), 還有管理員權(quán)限判斷。

2、全局后置守衛(wèi):afterEach(to, from)

router.afterEach: 和 beforeEach 相反,它是在路由跳轉(zhuǎn)完成后觸發(fā),它發(fā)生在 beforeEach 之后 beforeRouteEnter(組件內(nèi)守衛(wèi)) 之前, 因?yàn)槭翘D(zhuǎn)完成后觸發(fā),所以沒有 next 參數(shù)。

路由內(nèi)的鉤子函數(shù)

路由獨(dú)享守衛(wèi):beforeEnter(to, from, next)

和 beforeEach 完全相同,如果兩個(gè)都設(shè)置了,beforeEnter 則在 beforeEach 之后緊隨執(zhí)行。在路由配置上直接定義 beforeEnter 守衛(wèi)

組件內(nèi)的鉤子函數(shù)

是指在組件內(nèi)執(zhí)行的鉤子函數(shù),類似于組件內(nèi)的生命周期

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue隱藏路由的實(shí)現(xiàn)方法

    vue隱藏路由的實(shí)現(xiàn)方法

    這篇文章主要介紹了vue隱藏路由的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • 在Vue2中v-model和.sync區(qū)別解析

    在Vue2中v-model和.sync區(qū)別解析

    在vue2中提供了.sync修飾符,但是在vue3中不再支持.sync,取而代之的是v-model,本文給大家介紹在Vue2中v-model和.sync區(qū)別,感興趣的朋友一起看看吧
    2023-10-10
  • Vue2.0在IE11版本瀏覽器中的兼容性問題

    Vue2.0在IE11版本瀏覽器中的兼容性問題

    這篇文章主要介紹了Vue2.0在IE11版本瀏覽器中的兼容性問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • vue如何自定義地址設(shè)置@

    vue如何自定義地址設(shè)置@

    這篇文章主要介紹了vue如何自定義地址設(shè)置@,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 淺談Vue服務(wù)端渲染框架Nuxt的那些事

    淺談Vue服務(wù)端渲染框架Nuxt的那些事

    這篇文章主要介紹了淺談Vue服務(wù)端渲染框架Nuxt的那些事,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解Vue2 SSR 緩存 Api 數(shù)據(jù)

    詳解Vue2 SSR 緩存 Api 數(shù)據(jù)

    本篇文章主要介紹了Vue2 SSR 緩存 Api 數(shù)據(jù),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-11-11
  • 關(guān)于uniapp的高級(jí)表單組件mosowe-form

    關(guān)于uniapp的高級(jí)表單組件mosowe-form

    這篇文章主要介紹了關(guān)于uniapp的高級(jí)表單組件mosowe-form,由于一些表單標(biāo)簽改來改去比較繁瑣,重復(fù)性很多,且樣式布局啥的幾乎萬變不離其中,為了偷懶,開發(fā)了mosowe-form及mosowe-table兩款高級(jí)組件,需要的朋友可以參考下
    2023-04-04
  • vue中PC端地址跳轉(zhuǎn)移動(dòng)端的操作方法

    vue中PC端地址跳轉(zhuǎn)移動(dòng)端的操作方法

    最近小編接到一個(gè)項(xiàng)目pc端和移動(dòng)端是兩個(gè)獨(dú)立的項(xiàng)目,兩個(gè)項(xiàng)目項(xiàng)目中的內(nèi)容基本相同,鏈接組合的方式都有規(guī)律可循,接到的需求便是在移動(dòng)端訪問pc端的URL連接時(shí),重定向至移動(dòng)端對(duì)應(yīng)頁面,下面小編給大家分享實(shí)現(xiàn)過程,一起看看吧
    2021-11-11
  • Vue+Express實(shí)現(xiàn)登錄狀態(tài)權(quán)限驗(yàn)證的示例代碼

    Vue+Express實(shí)現(xiàn)登錄狀態(tài)權(quán)限驗(yàn)證的示例代碼

    這篇文章主要介紹了Vue+Express實(shí)現(xiàn)登錄狀態(tài)權(quán)限驗(yàn)證的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue/React子組件實(shí)例暴露方法(TypeScript)

    Vue/React子組件實(shí)例暴露方法(TypeScript)

    最近幾個(gè)月都在用TS開發(fā)各種項(xiàng)目,框架有涉及到Vue3,React18等,記錄一下Vue/React組件暴露出變量/函數(shù)的方法的寫法,對(duì)vue?react組件暴露方法相關(guān)知識(shí)感興趣的朋友跟隨小編一起看看吧
    2022-11-11

最新評(píng)論

翼城县| 昌邑市| 富源县| 桃园县| 永登县| 玛曲县| 龙里县| 九龙县| 广水市| 葫芦岛市| 洪泽县| 永顺县| 金坛市| 玉树县| 资溪县| 迁西县| 应城市| 类乌齐县| 鹤山市| 天峻县| 深水埗区| 班玛县| 噶尔县| 泌阳县| 余干县| 海城市| 张家口市| 婺源县| 济宁市| 上栗县| 新化县| 株洲县| 来安县| 安吉县| 景东| 房产| 柞水县| 红桥区| 达尔| 新乡县| 沈阳市|