Vue的父子组件生命周期钩子函数执行顺序 ?

Vue的父子组件生命周期钩子函数的执行顺序可以清晰地分为几个阶段,包括加载渲染过程、更新过程以及销毁过程。以下是详细的解释:

加载渲染过程

  1. 父组件的beforeCreate:在父组件实例被创建之前调用。
  2. 父组件的created:在父组件实例创建完成后调用。
  3. 父组件的beforeMount:在父组件开始挂载之前调用,此时模板已经编译成虚拟DOM。
  4. 子组件的beforeCreate和created:在父组件的beforeMount钩子内,子组件的beforeCreate和created钩子依次被调用。
  5. 子组件的beforeMount和mounted:子组件的虚拟DOM挂载成真实DOM后,mounted钩子被调用。
  6. 父组件的mounted:在子组件挂载完成后,父组件的mounted钩子被调用,表示整个父组件及其子组件都已经挂载完成。

更新过程(当数据变化时)

  1. 父组件的beforeUpdate:在父组件的虚拟DOM重新渲染和打补丁之前调用。
  2. 子组件的beforeUpdate和updated:子组件根据新的数据重新渲染和更新。
  3. 父组件的updated:在父组件的DOM更新后调用。

销毁过程

  1. 父组件的beforeDestroy:在父组件销毁之前调用,用于执行清理任务。
  2. 子组件的beforeDestroy和destroyed:子组件在父组件销毁之前先进行销毁。
  3. 父组件的destroyed:父组件及其所有子组件都已经被销毁。

总结

这个顺序确保了Vue组件的层次结构在生命周期中的正确管理。在加载渲染过程中,父组件的生命周期钩子会在子组件的生命周期钩子之前触发,而在销毁过程中,子组件会先被销毁,然后才是父组件。同样,在更新过程中,父组件的更新会触发子组件的重新渲染,但父组件的更新钩子会在子组件的更新钩子之后触发。这些生命周期钩子函数顺序可以帮助开发者在合适的时机执行相应的逻辑。

相关推荐
东东51612 分钟前
智能社区管理系统的设计与实现ssm+vue
前端·javascript·vue.js·毕业设计·毕设
catino16 分钟前
图片、文件的预览
前端·javascript
2501_920931702 小时前
React Native鸿蒙跨平台实现推箱子游戏,完成玩家移动与箱子推动,当所有箱子都被推到目标位置时,玩家获胜
javascript·react native·react.js·游戏·ecmascript·harmonyos
layman05282 小时前
webpack5 css-loader:从基础到原理
前端·css·webpack
半桔2 小时前
【前端小站】CSS 样式美学:从基础语法到界面精筑的实战宝典
前端·css·html
AI老李2 小时前
PostCSS完全指南:功能/配置/插件/SourceMap/AST/插件开发/自定义语法
前端·javascript·postcss
_OP_CHEN2 小时前
【前端开发之CSS】(一)初识 CSS:网页化妆术的终极指南,新手也能轻松拿捏页面美化!
前端·css·html·网页开发·样式表·界面美化
啊哈一半醒2 小时前
CSS 主流布局
前端·css·css布局·标准流 浮动 定位·flex grid 响应式布局
PHP武器库2 小时前
ULUI:不止于按钮和菜单,一个专注于“业务组件”的纯 CSS 框架
前端·css
方也_arkling2 小时前
Element Plus主题色定制
javascript·sass