技术文摘
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
- 硬件架构:开源大型机引领未来
- 移动支付安全问题引人关注 "无现金时代"何时到来
- 移动支付下一个风口该如何把握
- 移动支付高速发展,未来真正的优胜者是谁
- 探究 Chrome 源码中浏览器的 layout 布局机制
- GitLab v8.16.7 发布:项目管理与代码托管平台
- Mac OSX 中 Python 集成开发环境搭建图解
- 喵星人的启示:动物领域的开源技术与工具
- LZ77 压缩算法的 Python 编码实现原理详解及图示
- 支付微服务系统的基础架构搭建
- 创业教父 Steve Blank 的 8 个创业建议
- 机器学习问题中算法选择的经验分享
- 业界“跨库分页”的四种难题方案
- 微服务开发中的软件过程
- 回顾Bob大叔的简约架构