1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Vue路由守衛(wèi)

        共 926字,需瀏覽 2分鐘

         ·

        2022-02-06 09:37

        路由守衛(wèi)的作用:

        控制路由的跳轉(zhuǎn),在什么時(shí)候跳轉(zhuǎn)或者不跳轉(zhuǎn),是否符合進(jìn)入該路由的條件,符合即可以進(jìn)入該路由,不符合那就不讓進(jìn)入該路由(也就是顯示不了這個(gè)路由對(duì)應(yīng)的組件或者頁(yè)面)


        常用場(chǎng)景:?登錄(當(dāng)本地存在token值的時(shí)候,說明已登錄,進(jìn)入登錄頁(yè)面的時(shí)候直接跳回首頁(yè);當(dāng)本地沒有token值的時(shí)候,說明沒有登錄,要想進(jìn)入應(yīng)用的某個(gè)需要登錄的頁(yè)面,此時(shí)就需要導(dǎo)航守衛(wèi)判斷,未登錄就直接跳轉(zhuǎn)到登錄頁(yè))


        vue-router提供了導(dǎo)航鉤子:全局前置導(dǎo)航鉤子 beforeEach和全局后置導(dǎo)航鉤子 afterEach,他們會(huì)在路由即將改變前和改變后進(jìn)行觸發(fā)。所以判斷用戶是否登錄需要在beforeEach導(dǎo)航鉤子中進(jìn)行判斷。

        導(dǎo)航鉤子有3個(gè)參數(shù):

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

        ? 2、from:當(dāng)前導(dǎo)航即將要離開的路由對(duì)象;

        ? 3、next :調(diào)用該方法后,才能進(jìn)入下一個(gè)鉤子函數(shù)(afterEach)。

        ? ? ? ? next( )? //直接進(jìn)to 所指路由 顯示
        ? ? ? ? next(false)? //中斷當(dāng)前路由 不顯示
        ? ? ? ? next('route')? //跳轉(zhuǎn)指定路由
        ? ? ? ? next('error')? //跳轉(zhuǎn)錯(cuò)誤路由


        路由守衛(wèi)的三種寫法,視情況使用哪種方式,簡(jiǎn)單常用的就是全局寫法:


        1. 全局(寫在路由文件中/main.js中都可以)to的使用

        router.beforeEach( (?to,from,next?){ } )


        15fef00b18603ed33696fb870310eede.webp


        2. 獨(dú)享守衛(wèi)--單個(gè)路由(寫在單個(gè)路由配置中):

        BeforeEnter:(to,from,next)=>{ }


        a79d9e062d80db2f44321f91df315f68.webp


        3. 單個(gè)組件中 :

        beforeRouteEnter(to,from,next){ }

        (以鉤子函數(shù)寫在組件中,注意,在路由進(jìn)入之前,組件實(shí)例還未渲染,所以無法獲取this實(shí)例,只能通過vm來訪問組件實(shí)例 next(vm => {}) }from的使用

        例如,要進(jìn)入登錄這個(gè)組件,如果是從首頁(yè)進(jìn)入,那就能進(jìn)入,放行next(true);

        如果不是從首頁(yè)進(jìn)的,那就不讓進(jìn)入登錄頁(yè)next(false);


        ffb350c0b6f01ca168912b19884f812c.webp



        瀏覽 53
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            久久久久豆花视频 | 久热最新网址 | 亚洲无码高清片在线 | 熟女中字 | 毛片在线不卡 | 最新的中文幕无字码 | 三上悠亚被淫辱の教室下载 | 趴在老师腿被脱裙打屁股 | 风骚少妇视频 | 91精品人妻 |