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

596 阅读1分钟

1、父子组件生命周期钩子函数执行顺序表

父组件子组件
1.父-beforeCreate4.子-beforeCreate
2.父-created5.子-created
3.父-beforeMount6.子-beforeMount
8.父-mounted7.子-mounted
9.父-beforeUpdate10.子-beforeUpdate
12.父-updated11.子-updated
13.父-beforeDestroy14.子-beforeDestroy
16.父-destroyed15.子-destroyed

2、父子组件生命周期钩子函数执行顺序的具体执行过程

  • 加载渲染过程

    • 父-beforeCreate → 父-created→ 父-beforeMount → 子-beforeCreate → 子-created → 子-beforeMount → 子-mounted → 父-mounted
  • 子组件更新过程

    • 父-beforeUpdate → 子-beforeUpdate→ 父-updated → 子-updated
  • 父组件更新过程

    • 父-beforeUpdate → 父-updated
  • 销毁过程

    • 父-beforeDestroy → 子-beforeDestroy → 子-destroyed → 父-destroyed

3、单一组件钩子执行顺序

beforeCreate → created → beforeMount → mounted → beforeUpdate → updated → activated → deactivated → beforeDestroy→ destroyed → errorCaptured

补充组件缓存知识:

  • activated(激活)deactivated(失活) 是组件缓存特有的钩子
  • 匹配组件缓存有两个值:include(包含) 和 exclude(不包含)
  • 使用方法:<keep-alive include="name名"> <router-view><router-view> <keep-alive>
  • 作用:组件频繁切换会导致性能浪费,缓存后可以不用重新创建

4、简易钩子执行顺序

父create->子created->子mounted->父mounted