vue-router 有哪幾種導(dǎo)航鉤子?(當(dāng)路由發(fā)生變化,導(dǎo)航守衛(wèi)通過跳轉(zhuǎn)或者取消的方式來進(jìn)行守衛(wèi)導(dǎo)航)
答: 全局鉤子: beforeEach aftereach beforeResolve(全局解析守衛(wèi)在beforeRouteEnter調(diào)用之后調(diào)用)
路由鉤子: beforeEnter
組件鉤子:beforeRouterEnter beforeRouterLeave beforeRouterUpdate
將路由導(dǎo)航、keep-alive、和組件生命周期鉤子結(jié)合起來的,觸發(fā)順序,假設(shè)是從a組件離開,第一次進(jìn)入b組件, 觸發(fā)鉤子的順序?
答:beforeRouteLeave:路由組件的組件離開路由前鉤子,可取消路由離開。
beforeEach: 路由全局前置守衛(wèi),可用于登錄驗(yàn)證、全局路由loading等。
beforeEnter: 路由獨(dú)享守衛(wèi)
beforeRouteEnter: 路由組件的組件進(jìn)入路由前鉤子。
beforeResolve: 路由全局解析守衛(wèi)
beforeRouterUpdate: 組件路由的更新
afterEach:路由全局后置鉤子
beforeCreate:組件生命周期,不能訪問this。
created:組件生命周期,可以訪問this,不能訪問dom。
beforeMount:組件生命周期
deactivated: 離開緩存組件a,或者觸發(fā)a的beforeDestroy和destroyed組件銷毀鉤子。
mounted:訪問/操作dom。
activated:進(jìn)入緩存組件,進(jìn)入a的嵌套子組件(如果有的話)。
執(zhí)行beforeRouteEnter回調(diào)函數(shù)next。
參考文獻(xiàn): https://blog.csdn.net/bangbDIV/article/details/120281429
本文摘自 :https://www.cnblogs.com/