完整的导航解析流程
- 导航被触发。
- 在失活的组件里调用离开守卫。
beforeRouteLeave (to, from, next)
- 调用全局的
beforeEach(to,from,next)
守卫。 - 在重用的组件里调用
beforeRouteUpdate(to,from,next)
守卫 (2.2+)。 - 在路由配置里调用
beforeEnter(to,from,next)
守卫。 - 解析异步路由组件。
- 在被激活的组件里调用
beforeRouteEnter(to,from,next)
。 - 调用全局的
beforeResolve()
守卫 (2.5+)。 - 导航被确认。
- 调用全局的
afterEach(to,from)
钩子。 - 触发 DOM 更新。
- 用创建好的实例调用
beforeRouteEnter(to,from,next)
守卫中传给next
的回调函数。
router.beforeEach((to, from, next) => {
// 我们可以从 to 获取路由元信息。
})
有next()参数的记得调用next(),将请求继续往下执行。