1.1.挂载阶段
该过程主要涉及beforeCreate、created、beforeMount、mounted
4个钩子函数。执行顺序为:
父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted
一定得等子组件挂载完毕后,父组件才能挂在完毕,所以父组件的mounted在最后。
- 父组件的mounted是在最后执行的。
- 因此在子组件的mounted中渲染父组件在mounted阶段请求的数据,是会无反应的。因为子组件mounted渲染数据会发生在父组件mounted请求数据之前。
- 1.2.更新阶段
该过程主要涉及beforeUpdate、updated2个钩子函数。注意,当父子组件有数据传递时,才有这个更新阶段执行顺序的比较。执行顺序
为:
父peforeUpdate->子beforeUpdate->子updated->父updated
1.3.销毁阶段
该过程主要涉及beforeDestroy、destroyed2个钩子函数。执行顺序为:
父beforeDestroy->子peforeDestroy->子destroyed->父destroyed
1.4.总结
Vue父子组件生命周期钩子的执行顺序遵循:从外到内,再从内到外。