技术文摘
Vue3 中 watch 与 watchEffect 使用实例解析
在Vue3的响应式编程中,watch与watchEffect是两个强大的工具,理解它们的使用实例对于开发者至关重要。
首先来看watch。watch主要用于监听一个或多个响应式数据源的变化,并在变化时执行相应的回调函数。它的基本语法是watch(source, callback, [options])。
假设我们有一个响应式数据:
import { ref, watch } from 'vue';
const count = ref(0);
watch(count, (newValue, oldValue) => {
console.log(`新值: ${newValue}, 旧值: ${oldValue}`);
});
count.value++;
这里,watch监听了count的变化,每当count的值改变,回调函数就会执行,打印出新值和旧值。
watch还可以监听多个数据源。例如:
const name = ref('');
const age = ref(0);
watch([name, age], ([newName, newAge], [oldName, oldAge]) => {
console.log(`新的姓名: ${newName}, 新的年龄: ${newAge}`);
console.log(`旧的姓名: ${oldName}, 旧的年龄: ${oldAge}`);
});
name.value = '张三';
age.value = 25;
通过传入一个数组作为数据源,我们可以同时监听多个响应式数据的变化。
再说说watchEffect。watchEffect会立即执行传入的一个函数,并响应式追踪其依赖,在依赖变化时重新执行。
import { ref, watchEffect } from 'vue';
const message = ref('');
watchEffect(() => {
console.log(`消息是: ${message.value}`);
});
message.value = 'Hello Vue3';
在这个例子中,watchEffect会立即执行回调函数,打印出初始的message值。当message的值发生变化时,回调函数会再次执行。
与watch不同,watchEffect不需要明确指定监听的数据源,它会自动收集依赖。这在很多场景下更加便捷,但也可能导致一些意外的重新执行。
在实际开发中,当我们需要精确控制监听的数据源和获取新旧值对比时,watch是一个不错的选择。而当我们只关心数据变化时的副作用操作,不关心具体的变化内容,watchEffect则更为合适。通过合理运用这两个工具,我们能够更高效地处理Vue3应用中的响应式逻辑,提升开发效率和代码质量。
TAGS: Vue3 watch watchEffect 使用实例解析
- Win10 任务栏禁用微软 Copilot 的三步技巧
- Win10 22H2 KB5043131 发布 升级后版本号为 Build 19045.4955
- Win10 永久删除文件的找回之道及多种电脑恢复方法
- Win10 自动开机设置指南:轻松实现每日九点开机
- Win10 中 USB 设备每次开机插拔及插 USB 需重启的解决之道
- Win10 21H2/22H2 9 月累积更新 KB5043064 已推送 附更新日志汇总
- Win10 八月可选更新 KB5041582 发布 修复系统卡死与内存泄漏等问题
- 解决 Win10 音量图标失灵:利用注册表恢复没反应的音量图标
- Win10 中 0x800F0805 错误代码的修复方法及多种解决途径
- Win10 音量图标无反应的解决之道
- Win10 文件夹无法拖动的解决之道
- Win10 玩游戏闪退因内存不足的解决之道
- Win10 注册表恢复出厂设置的操作指南
- Win10 开机速度优化方法:系统启动速度教程
- Win10 控制孩子上网时间的方法及限制他人使用电脑时间的技巧