vue父子组件生命周期执行顺序
时间: 2023-10-19 16:06:22 浏览: 95
Vue 父子组件生命周期执行顺序如下:
父组件(在第一次渲染时)
1. beforeCreate
2. created
3. beforeMount
子组件(在第一次渲染时)
1. beforeCreate
2. created
3. beforeMount
4. mounted
父组件(在子组件挂载完成后)
1. mounted
如果有数据更新时,父子组件执行顺序如下:
父组件
1. beforeUpdate
子组件
1. beforeUpdate
2. updated
父组件
1. updated
如果子组件被销毁,执行顺序如下:
子组件
1. beforeDestroy
2. destroyed
父组件则没有任何改变。
相关问题
vue 父子组件生命周期执行顺序
在Vue中,父子组件的生命周期钩子函数的执行顺序如下:
1. 父组件:
- beforeCreate:在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
- created:在实例创建完成后被立即调用。在这一步,实例已完成以下配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
- beforeMount:在挂载开始之前被调用。相关的 render 函数首次被调用。
- mounted:el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
- beforeUpdate:数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。可以在该钩子中对数据进行修改。
- updated:由于数据更改导致的虚拟 DOM 重新渲染和打补丁完成之后调用。
- beforeDestroy:实例销毁之前调用。在这一步,实例仍然完全可用。
- destroyed:Vue 实例销毁后调用。此时,Vue 实例的所有指令都已解绑,所有事件监听器都已移除。
2. 子组件:
- beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed 这些生命周期钩子函数的执行顺序与父组件相同。
vue3父子组件生命周期执行顺序
在Vue3中,父子组件生命周期的执行顺序与Vue2有些不同。下面是Vue3中父子组件生命周期的执行顺序:
1. 父组件beforeCreate
2. 父组件setup
3. 父组件created
4. 子组件beforeCreate
5. 子组件setup
6. 子组件created
7. 子组件beforeMount
8. 子组件onBeforeMount
9. 父组件beforeMount
10. 父组件onBeforeMount
11. 子组件mounted
12. 子组件onMounted
13. 父组件mounted
14. 父组件onMounted
15. 子组件beforeUpdate
16. 子组件onBeforeUpdate
17. 父组件beforeUpdate
18. 父组件onBeforeUpdate
19. 子组件updated
20. 子组件onUpdated
21. 父组件updated
22. 父组件onUpdated
23. 子组件beforeUnmount
24. 子组件onBeforeUnmount
25. 父组件beforeUnmount
26. 父组件onBeforeUnmount
27. 子组件unmounted
28. 子组件unmounted
需要注意的是,在Vue3中,父组件的 `beforeMount` 和 `onBeforeMount` 钩子函数会在子组件的对应钩子函数之前执行,而在Vue2中,是先执行子组件的 `beforeMount` 钩子函数,再执行父组件的 `beforeMount` 钩子函数。
阅读全文