
vue3——生命周期&勾子函数
生命周期
钩子函数
setup() : 开始创建组件之前,在
beforeCreate
和created
之前执行,创建的是data
和method
onBeforeMount:在组件被挂载到DOM之前调用。这个阶段是在模板和数据被渲染成HTML之前,可以用来执行如数据预处理的操作。
onMounted:在组件挂载完成后调用。这个阶段DOM已经形成,可以执行DOM操作或发送异步请求。
onBeforeUpdate:在响应式数据发生变化,且组件重新渲染之前调用。可以用来获取更新前的DOM状态。
onUpdated:在组件的虚拟DOM重新渲染并应用更新后调用。此时可以执行依赖于DOM的操作,如操作滚动位置或执行动画。
onBeforeUnmount:在组件销毁之前调用。用于执行清理操作,如移除事件监听器或取消定时器。
onUnmounted:在组件完全销毁后调用。这时,所有的子组件和事件监听器都已被清理,可以确保不会造成内存泄漏。
onActivated(): 被包含在
<keep-alive>
中的组件,会多出两个生命周期钩子函数,被激活时执行。
Vue2.x 和 Vue3.x 生命周期对比
例子
一个典型的应用场景是在组件挂载时从服务器获取数据。例如,我们可以在mounted钩子中发送一个API请求来获取数据,然后渲染到组件中。
下面是一个简单的示例,展示如何在组件的生命周期钩子中执行任务。
<template>
<div>{{ message }}</div>
</template>
<script setup>
import { onMounted, ref } from 'vue';
const message = ref('');
onMounted(async () => {
const response = await fetch('https://api.example.com/data');
message.value = await response.json();
});
</script>
上述示例中,在onMounted钩子中处理组件挂载后的逻辑,进行API调用并更新了组件数据。
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员wddnmj
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果