Vue3 使用 debounce 函数实现 watch 函数延迟执行
在 Vue 3 中,可以使用'watch' 函数来监视一个响应式的数据,并在数据发生变化时执行特定的操作。如果想要在一定时间内执行最后一次操作,可以结合使用'debounce' 函数。
首先,安装 lodash 库,它提供了'debounce' 函数:
npm install lodash
然后,在 Vue 组件中引入'watch' 和'debounce' 函数:
import { watch } from 'vue';
import { debounce } from 'lodash';
export default {
setup() {
watch(
// 监视的数据
() => data,
// 回调函数
debounce((newValue, oldValue) => {
// 在一定时间内执行最后一次操作
console.log('执行最后一次操作');
}, 500)
);
return {};
},
};
在上面的示例中,我们使用'watch' 函数来监视'data' 数据的变化,并在变化时执行一个'debounce' 函数包装的回调函数。'debounce' 函数会延迟执行回调函数,并在指定的时间内,只执行最后一次回调函数。
在这个例子中,回调函数会在'data' 数据发生变化后的 500 毫秒内,只执行最后一次。你可以根据需要修改回调函数的内容,实现你想要的操作。
原文地址: https://www.cveoy.top/t/topic/qqMi 著作权归作者所有。请勿转载和采集!