vue路由守卫触发顺序
不同组件之间的路由跳转流程图
- 导航被触发(A–>B)
- 调用A组件内路由守卫beforeRouteLeave(to,from,next)
- 调用全局路由前置守卫router.beforeEach(to,from,next)
- 调用B路由独享守卫 beforeEnter(to,from.next)
- 解析异步路由组件B
- 调用B的组件内路由守卫beforeRouteEnter(to,from,next)
- 调用全局路由解析守卫 router.beforeResolve(to,from,next)
- 导航被确认
- 调用全局路由钩子router.afterEach(to,from)
- 渲染B组件DOM
复用组件的路由跳转流程图
- 触发全局路由钩子afterEach
- 更新DOM
- 导航被触发(改变动态路由参数)
- 调用全局路由前置守卫 router.beforeEach(to,from,next)
- 调用复用组件的组件内路由守卫 beforeRouteUpdate(to,from,next)
- 调用全局路由解析守卫router.beforeResolve(to,from,next)
- 导航被确认
- 调用全局路由钩子 router,afterEach(to,from)
- 更新DOM
喜欢的小伙伴可以关注我的微信公众号“前端伪大叔”