vue2 vue3生命周期
时间: 2023-11-09 22:02:55 浏览: 52
Vue2的生命周期包括:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy、destroyed。而Vue3的生命周期则进行了精简,包括:beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、unmounted。
相关问题
vue2 vue3生命周期钩子函数
在 Vue 中,生命周期钩子函数是一些特定的方法,它们在组件实例的生命周期中自动执行,可以让你在特定阶段执行自定义代码。在 Vue2 中,一共有 8 个生命周期钩子函数,分别是:
1. beforeCreate:在实例被创建之前执行,此时组件的数据、方法等都还未初始化,无法访问。
2. created:在实例创建完成后执行,此时组件的数据已经初始化完成,但 DOM 元素还未生成。
3. beforeMount:在挂载之前执行,此时 DOM 元素还未生成。
4. mounted:在挂载完成后执行,此时 DOM 元素已经生成,可以访问到 DOM 元素。
5. beforeUpdate:在更新之前执行,此时数据已经更新,但 DOM 元素还未重新渲染。
6. updated:在更新完成后执行,此时数据已经更新,DOM 元素也已经重新渲染。
7. beforeDestroy:在销毁之前执行,此时组件实例还存在,可以进行善后工作。
8. destroyed:在销毁之后执行,此时组件实例已经被销毁,无法访问。
在 Vue3 中,由于引入了 Composition API,生命周期钩子函数发生了一些变化。Vue3 提供了一个新的 API `onBeforeMount` 和 `onMounted` 取代了 Vue2 中的 `beforeMount` 和 `mounted`;同时提供了 `onBeforeUpdate` 和 `onUpdated` 取代了 Vue2 中的 `beforeUpdate` 和 `updated`;还提供了 `onBeforeUnmount` 和 `onUnmounted` 取代了 Vue2 中的 `beforeDestroy` 和 `destroyed`。除此之外,Vue3 还提供了三个新的生命周期钩子函数:
1. onBeforeUnmount:在卸载组件之前执行。
2. onRenderTracked:在组件中有依赖项被追踪时执行。
3. onRenderTriggered:在组件中有追踪的依赖项被触发更新时执行。
vue2和vue3生命周期
Vue2和Vue3的生命周期有一些区别。
在Vue2中,常用的生命周期钩子函数有beforeCreate、created、beforeMount、mounted、beforeUpdate、updated、beforeDestroy和destroyed。这些钩子函数允许在组件的不同生命周期阶段执行一些操作。其中,beforeCreate和created钩子函数在组件实例创建之前和之后执行,beforeMount和mounted钩子函数在组件挂载之前和之后执行,beforeUpdate和updated钩子函数在组件更新之前和之后执行,beforeDestroy和destroyed钩子函数在组件销毁之前和之后执行。
而在Vue3中,除了保留了Vue2中的生命周期钩子函数外,还新增了一些新的钩子函数。其中,beforeUnmount钩子函数是在组件卸载之前执行,用来做一些清理操作。此外,Vue3还引入了renderTracked和renderTriggered两个新的钩子函数,用于跟踪渲染过程中的依赖和更新。
另外需要注意的是,Vue3中所有的生命周期钩子函数都可以作为组件选项直接导出,而不需要手动声明。
总结起来,Vue2和Vue3的生命周期有一些相似之处,如beforeCreate、created、beforeMount、mounted、beforeDestroy和destroyed等钩子函数。但Vue3新增了beforeUnmount、renderTracked和renderTriggered等钩子函数,同时还允许将生命周期钩子函数作为组件选项直接导出。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [vue2和vue3的生命周期](https://blog.csdn.net/m0_73481765/article/details/131468675)[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_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]