技术文摘
Vue3 中 watch 与 watchEffect 的使用方法
Vue3 中 watch 与 watchEffect 的使用方法
在 Vue3 的响应式编程体系中,watch 与 watchEffect 是两个强大的工具,它们用于响应式数据的变化并执行相应的副作用操作。掌握这两个 API 的使用方法,能够极大提升开发效率与代码质量。
watch 函数用于监视一个或多个响应式数据源的变化,并在变化时执行回调函数。它接收三个参数:第一个参数是要监视的数据源,可以是一个 ref、reactive 对象的属性,甚至是一个返回值的函数;第二个参数是回调函数,当数据源发生变化时会被调用;第三个参数是一个可选的配置对象。
例如,监视一个简单的 ref:
import { ref, watch } from 'vue';
const count = ref(0);
watch(count, (newValue, oldValue) => {
console.log(`新值: ${newValue}, 旧值: ${oldValue}`);
});
count.value++;
在这个例子中,每当 count 的值发生变化,watch 的回调函数就会执行,打印出新值和旧值。
watch 也可以监视多个数据源:
import { ref, watch } from 'vue';
const count1 = ref(0);
const count2 = ref(0);
watch([count1, count2], (newValues, oldValues) => {
console.log('新值:', newValues);
console.log('旧值:', oldValues);
});
count1.value++;
count2.value++;
此时,只要 count1 或 count2 发生变化,回调函数都会执行。
而 watchEffect 则更加简洁和直观。它不需要显式指定要监视的数据源,而是自动收集回调函数中使用的所有响应式数据作为依赖。只要这些依赖中的任何一个发生变化,watchEffect 就会重新执行回调函数。
import { ref, watchEffect } from 'vue';
const count = ref(0);
watchEffect(() => {
console.log(`count 的值是: ${count.value}`);
});
count.value++;
在这个例子中,watchEffect 自动检测到 count 的变化并重新执行回调函数。
watchEffect 还可以传入一个选项对象,用于配置副作用的执行时机、清除函数等。
watch 适用于需要精确控制监视数据源和处理新旧值的场景;而 watchEffect 则更适合于依赖关系比较简单,希望自动追踪依赖并执行副作用的情况。在实际开发中,合理运用这两个 API,能够让代码逻辑更加清晰,响应式处理更加高效。
TAGS: Vue3 使用方法 watch watchEffect
- CSS 2D 变换函数
- CSS 中移除选择输入框背景的方法
- JavaScript 中 document.getElementById() 方法简写的编写方式
- FabricJS中设置三角形填充颜色的方法
- CSS语音媒体属性前的休息
- JavaScript 实现 Flexbox 容器居中对齐的方法
- HTML 中如何显示元素的背景颜色
- 在HTML中,文件能一直播放到最后无需缓冲暂停时执行脚本?
- FabricJS:如何从Line对象的URL字符串中移除当前对象转换
- CSS 中 font-optical-sizing 属性的使用方法
- 评估JavaScript实现的区块链的方法
- Raygun助力Web和移动应用程序:借助错误和性能监控
- JavaScript 中如何给对象添加属性与方法
- HTML中打印文档后如何执行脚本
- JavaScript中把普通对象转换为ES6 Map的方法