Vue 的父组件和子组件生命周期钩子执行顺序

项目中,在父组件的mounted函数中更新传递给子组件的值,但子组件挂载的时间在父组件的mounted函数之前,导致子组件渲染处理的时候还是原来的值,处理时发生报错。

渲染过程:父组件挂载完成一定是等子组件都挂载完成后,才算是父组件挂载完,所以父组件的mounted在子组件mouted之后。父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount -> 子mounted -> 父mounted

子组件更新过程:

影响到父组件: 父beforeUpdate -> 子beforeUpdate->子updated -> 父updated

不影响父组件: 子beforeUpdate -> 子updated

父组件更新过程:

影响到子组件: 父beforeUpdate -> 子beforeUpdate->子updated -> 父updated

不影响子组件: 父beforeUpdate -> 父updated

销毁过程:父beforeDestroy -> 子beforeDestroy -> 子destroyed -> 父destroyed

不管是哪种情况,都一定是父组件等待子组件完成后,才会执行自己对应完成的钩子

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容