vue2只执行一次的钩子函数
时间: 2023-09-14 21:06:18 浏览: 185
在 Vue2 中,只执行一次的钩子函数是 `created` 钩子函数。`created` 钩子函数在组件实例被创建后立即执行,只执行一次,适合进行一些初始数据的处理和异步请求的发送等操作。其他只执行一次的钩子函数包括 `beforeCreate` 和 `beforeMount` 钩子函数,但它们的执行顺序和时机不同。`beforeCreate` 钩子函数在实例被创建之初执行,此时组件的数据和方法都还未初始化;`beforeMount` 钩子函数在组件挂载到 DOM 前执行,此时组件已经完成了数据和方法的初始化,但尚未渲染到页面上。
相关问题
vue2和vue3的钩子函数执行顺序
Vue2和Vue3的钩子函数执行顺序有一些不同,下面是它们的执行顺序:
Vue2的钩子函数执行顺序:
1. beforeCreate
2. created
3. beforeMount
4. mounted
5. beforeUpdate
6. updated
7. beforeDestroy
8. destroyed
Vue3的钩子函数执行顺序:
1. beforeCreate
2. created
3. onBeforeMount
4. onMounted
5. onBeforeUpdate
6. onUpdated
7. onBeforeUnmount
8. onUnmounted
可以看到,Vue3增加了两个新的钩子函数,分别是`onBeforeUnmount`和`onUnmounted`,用来替代Vue2中的`beforeDestroy`和`destroyed`。同时,Vue3将`beforeMount`和`mounted`拆分成了两个独立的钩子函数。
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:在组件中有追踪的依赖项被触发更新时执行。
阅读全文