vue3父子组件生命周期
时间: 2023-11-04 13:57:43 浏览: 134
在Vue3中,父子组件的生命周期钩子的调用顺序如下:
1. 父组件beforeCreate
2. 父组件created
3. 父组件beforeMount
4. 子组件beforeCreate
5. 子组件created
6. 子组件beforeMount
7. 子组件mounted
8. 父组件mounted
9. 子组件beforeUpdate
10. 父组件beforeUpdate
11. 子组件updated
12. 父组件updated
13. 子组件beforeUnmount
14. 父组件beforeUnmount
15. 子组件unmounted
16. 父组件unmounted
在这个过程中,父组件的生命周期钩子会在子组件的钩子之前执行。父组件的生命周期钩子在父组件的模板渲染之前执行,而子组件的生命周期钩子在子组件的模板渲染之前执行。
需要注意的是,Vue3中的组件生命周期钩子名称发生了一些改变,例如beforeMount改为了beforeInit,mounted改为了onMounted,beforeDestroy改为了beforeUnmount。同时,Vue3还引入了一些新的生命周期钩子,onUpdated、onRenderTriggered、onRenderTracked等。
以上是父子组件生命周期钩子的基本执行顺序,具体的调用顺序可能会因为组件的嵌套关系和实际业务逻辑而有所不同。
相关问题
vue3 父子组件生命周期
在Vue3中,父子组件的生命周期包括以下几个阶段:
- 父组件beforeCreate:组件实例被创建之前的钩子函数。
- 父组件created:组件实例被创建之后的钩子函数,但是还未挂载到DOM上。
- 父组件beforeMount:组件即将被挂载到DOM上的钩子函数。
- 子组件beforeCreate:子组件实例被创建之前的钩子函数。
- 子组件created:子组件实例被创建之后的钩子函数,但是还未挂载到DOM上。
- 子组件beforeMount:子组件即将被挂载到DOM上的钩子函数。
- 子组件mounted:子组件已经被挂载到DOM上的钩子函数。
- 父组件mounted:父组件已经被挂载到DOM上的钩子函数。
- 父组件beforeUpdate:父组件数据更新之前的钩子函数。
- 子组件beforeUpdate:子组件数据更新之前的钩子函数。
- 子组件updated:子组件数据更新之后的钩子函数。
- 父组件updated:父组件数据更新之后的钩子函数。
- 父组件beforeUnmount:组件即将被销毁之前的钩子函数。
- 子组件beforeUnmount:子组件即将被销毁之前的钩子函数。
- 子组件unmounted:子组件已经被销毁的钩子函数。
- 父组件unmounted:父组件已经被销毁的钩子函数。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Vue3 --父子组件生命周期](https://blog.csdn.net/m0_47901007/article/details/118763279)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [Vue——父子组件的生命周期(执行顺序)](https://blog.csdn.net/leilei__66/article/details/118699960)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [计算机程序设计语言课程设计(VUE.js)及实践项目的例子.txt](https://download.csdn.net/download/weixin_44609920/88236928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
vue3父子组件生命周期顺序
在 Vue 3 中,父子组件的生命周期顺序与 Vue 2 有所不同。以下是 Vue 3 中父子组件生命周期的顺序:
1. 父组件实例化(beforeCreate 和 created 钩子函数被调用)。
2. 子组件实例化(beforeCreate 和 created 钩子函数被调用)。
3. 父组件的模板编译和渲染。
4. 子组件的模板编译和渲染。
5. 父组件的 beforeMount 和 mounted 钩子函数被调用。
6. 子组件的 beforeMount 和 mounted 钩子函数被调用。
7. 父组件的 updated 钩子函数被调用(如果数据发生了变化)。
8. 子组件的 updated 钩子函数被调用(如果数据发生了变化)。
9. 父组件的 beforeUnmount 钩子函数被调用(在组件卸载之前调用)。
10. 子组件的 beforeUnmount 钩子函数被调用(在组件卸载之前调用)。
11. 父组件的 unmounted 钩子函数被调用(在组件卸载之后调用)。
12. 子组件的 unmounted 钩子函数被调用(在组件卸载之后调用)。
需要注意的是,Vue 3 中去除了一些生命周期钩子函数,如 beforeUpdate 和 activated。同时,Vue 3 还引入了新的功能 API,如 setup 函数和 onMounted 钩子函数,用于替代一部分生命周期的功能。
阅读全文