Vue 面试题 目录

Vue 中父子组件生命周期钩子的执行顺序是什么?

推荐答案

在 Vue 中,父子组件的生命周期钩子执行顺序如下:

  1. 父组件beforeCreate
  2. 父组件created
  3. 父组件beforeMount
  4. 子组件beforeCreate
  5. 子组件created
  6. 子组件beforeMount
  7. 子组件mounted
  8. 父组件mounted

本题详细解读

1. 父组件的 beforeCreatecreated 钩子

  • 父组件的 beforeCreatecreated 钩子会在子组件实例化之前执行。此时,父组件的数据观测和事件初始化已经完成,但 DOM 还未挂载。

2. 父组件的 beforeMount 钩子

  • 父组件的 beforeMount 钩子在父组件的模板编译完成后执行,此时父组件的 DOM 还未挂载到页面上。

3. 子组件的 beforeCreatecreated 钩子

  • 在父组件的 beforeMount 钩子执行后,Vue 开始处理子组件。子组件的 beforeCreatecreated 钩子会依次执行。此时,子组件的数据观测和事件初始化已经完成,但 DOM 还未挂载。

4. 子组件的 beforeMountmounted 钩子

  • 子组件的 beforeMount 钩子在子组件的模板编译完成后执行,此时子组件的 DOM 还未挂载到页面上。
  • 子组件的 mounted 钩子在子组件的 DOM 挂载到页面后执行。此时,子组件的 DOM 已经可以访问。

5. 父组件的 mounted 钩子

  • 父组件的 mounted 钩子在父组件的 DOM 挂载到页面后执行。此时,父组件的 DOM 已经可以访问,并且子组件的 DOM 也已经挂载完成。

通过以上顺序,Vue 确保了父子组件的生命周期钩子按照正确的顺序执行,从而保证了组件之间的依赖关系和数据传递的正确性。

纠错
反馈