Vue中为何beforeRouteEnter的next回调执行早于mounted钩子?
Vue Router 中 beforeRouteEnter 回调与 mounted 钩子执行顺序说明
beforeRouteEnter 的 next 回调执行时机早于组件 mounted 钩子是符合设计的正常表现,你此前的记忆存在偏差。
官方定义的完整导航解析流程中,二者的执行顺序如下:
- 所有前置守卫(全局前置守卫、路由独享守卫、其他组件内守卫)执行完成,导航状态确认
- 目标路由组件实例初始化,依次触发
beforeCreate、created生命周期钩子 - 执行
beforeRouteEnter中传入next的回调函数 - 组件完成DOM树挂载,触发
mounted生命周期钩子
你测试中观测到的 beforeRouteEnter 回调日志先打印的结果,完全符合上述执行逻辑。
测试运行日志截图:
内容的提问来源于stack exchange,提问作者mofiter
相关产品推荐
相关产品推荐

