導(dǎo)航守衛(wèi) 路由元信息

導(dǎo)航”表示路由正在發(fā)生改變。

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

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

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

next(): 進(jìn)行管道中的下一個(gè)鉤子。如果全部鉤子執(zhí)行完了凤类,則導(dǎo)航的狀態(tài)就是 confirmed (確認(rèn)的)。

全局守衛(wèi)

const router = new VueRouter({ ... })

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

const arr = ["my"]

router.beforeEach((to, from, next) => {
  if (arr.includes(to.name)) {
    let userId = localStorage.getItem("userId")
    if (userId) {
      next()
    } else {
      next("/my")
    }
  } else {
    next()
  }
})

全局后置鉤子

你也可以注冊(cè)全局后置鉤子,然而和守衛(wèi)不同的是物延,這些鉤子不會(huì)接受 next 函數(shù)也不會(huì)改變導(dǎo)航本身:
router.afterEach((to, from) => {
  // ...
})

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

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

const router = new VueRouter({

  routes: [

    {
      path: '/shop/:id',
      component: 'shop',
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})

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

const Foo = {

  template: `...`,

  beforeRouteEnter (to, from, next) {

      if(to.params.id < 10){
          next()
      }eslse{
          next('/login')
      }

    1。在渲染該組件的對(duì)應(yīng)路由被confirm前調(diào)用
    2仅父。不叛薯!能!獲取組件實(shí)例 `this`
    3笙纤。因?yàn)楫?dāng)守衛(wèi)執(zhí)行前耗溜,組件實(shí)例還沒被創(chuàng)建
  },

  beforeRouteUpdate (to, from, next) {

    1. 在當(dāng)前路由改變,但是該組件被復(fù)用時(shí)調(diào)用
    2 舉例來說粪糙,對(duì)于一個(gè)帶有動(dòng)態(tài)參數(shù)的路徑 /foo/:id强霎,在 /foo/1 和 /foo/2 之間跳轉(zhuǎn)的時(shí)候,
    3 由于會(huì)渲染同樣的 Foo 組件蓉冈,因此組件實(shí)例會(huì)被復(fù)用城舞。而這個(gè)鉤子就會(huì)在這個(gè)情況下被調(diào)用。
    4 可以訪問組件實(shí)例 `this`
  },

  beforeRouteLeave (to, from, next) {

   1 導(dǎo)航離開該組件的對(duì)應(yīng)路由時(shí)調(diào)用
   2 可以訪問組件實(shí)例 `this`

  }
}

路由元信息

定義路由的時(shí)候可以配置 meta 字段

    meta: { requires: true }

    routes 配置中的每個(gè)路由對(duì)象為 路由記錄寞酿。路由記錄可以是嵌套的家夺,因此,當(dāng)一個(gè)路由匹配成功后伐弹,他可能匹配多個(gè)路由記錄

    導(dǎo)航守衛(wèi)中的路由對(duì)象 的 $route.matched 數(shù)組

    全局導(dǎo)航守衛(wèi)中檢查元字段

    router.beforeEach((to,from,next)=>{
      if(to.matched.some(record=>record.meta.requires)){
        if(!localStorage.getItem("token")){
          next({
            name:'login'
          })
        } else {
          next()
        }
      } else{
        next()
      }
    })
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拉馋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子惨好,更是在濱河造成了極大的恐慌煌茴,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,430評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件日川,死亡現(xiàn)場離奇詭異蔓腐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)龄句,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門回论,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人分歇,你說我怎么就攤上這事傀蓉。” “怎么了职抡?”我有些...
    開封第一講書人閱讀 167,834評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵葬燎,是天一觀的道長。 經(jīng)常有香客問我,道長萨蚕,這世上最難降的妖魔是什么靶草? 我笑而不...
    開封第一講書人閱讀 59,543評(píng)論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮岳遥,結(jié)果婚禮上奕翔,老公的妹妹穿的比我還像新娘。我一直安慰自己浩蓉,他們只是感情好派继,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,547評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著捻艳,像睡著了一般驾窟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上认轨,一...
    開封第一講書人閱讀 52,196評(píng)論 1 308
  • 那天绅络,我揣著相機(jī)與錄音,去河邊找鬼嘁字。 笑死恩急,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纪蜒。 我是一名探鬼主播衷恭,決...
    沈念sama閱讀 40,776評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼纯续!你這毒婦竟也來了随珠?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤猬错,失蹤者是張志新(化名)和其女友劉穎窗看,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體倦炒,經(jīng)...
    沈念sama閱讀 46,221評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烤芦,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,303評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了析校。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,444評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡铜涉,死狀恐怖智玻,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芙代,我是刑警寧澤吊奢,帶...
    沈念sama閱讀 36,134評(píng)論 5 350
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響页滚,放射性物質(zhì)發(fā)生泄漏召边。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,810評(píng)論 3 333
  • 文/蒙蒙 一裹驰、第九天 我趴在偏房一處隱蔽的房頂上張望隧熙。 院中可真熱鬧,春花似錦幻林、人聲如沸贞盯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躏敢。三九已至,卻和暖如春整葡,著一層夾襖步出監(jiān)牢的瞬間件余,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評(píng)論 1 272
  • 我被黑心中介騙來泰國打工遭居, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留啼器,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,837評(píng)論 3 376
  • 正文 我出身青樓魏滚,卻偏偏與公主長得像镀首,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鼠次,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,455評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容