Vue 路由鈎子(導航守衛)詳解及應用場景


全局前置守衛:beforeEach、beforeResolve、afterEach

使用場景:1.用於登錄驗證(及用戶長時間不登錄的時候,跳出是否滿意)

                  3.修改title,注意1中也可以修改,但是萬一不跳到下一個頁面,在1中修改會出錯

 

路由獨享守衛:beforeEnter

                  用於需要特別處理的情況(針對beforeEach)   

const router = new VueRouter({
routes: [
{
path: '/foo',
component: Foo,
beforeEnter: (to, from, next) => {
// ...
}
}
]
})

              

 

組件內的守衛:beforeRouteEnter、beforeRouteUpdadte、beforeRouteLeave

注意:1.此時的this是

 

 

           2.可以通過this訪問實例

           3.跳轉前判斷

               常用來禁止用戶在還未保存修改前突然離開,該導航可以通過next( false )來取消。

            

beforeRouteLeave (to, from , next) {
const answer = window.confirm('Do you really want to leave? you have unsaved changes!')
if (answer) {
next()
} else {
next(false)
}
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM