1. 路由跳转几乎没有限制,只要触发就可以跳转,在一些条件下需要优化
比如: 一个需要登录的页面,在已经登录完成之后,就不应该能继续返回到登录页面
或者未登录的情况下,能跳转到需要登录才可以访问的页面(淘宝没有登录,怎么能直接看到购物车页面呢)
2. 完整的导航解析流程
- 导航被触发。
- 在失活的组件里调用
beforeRouteLeave
守卫。 - 调用全局的
beforeEach
守卫。 - 在重用的组件里调用
beforeRouteUpdate
守卫(2.2+)。 - 在路由配置里调用
beforeEnter
。 - 解析异步路由组件。
- 在被激活的组件里调用
beforeRouteEnter
。 - 调用全局的
beforeResolve
守卫(2.5+)。 - 导航被确认。
- 调用全局的
afterEach
钩子。 - 触发 DOM 更新。
- 调用
beforeRouteEnter
守卫中传给next
的回调函数,创建好的组件实例会作为回调函数的参数传入。