当前位置: 首页 > news >正文

vue3 debounce 作用:函数会从其被调用时延迟执行到调用结束的这段时间内,如果该函数被再次调用,则重新计算时间。

1、说明:

2、lodash的debounce

"lodash": "^4.17.21",pnpm add lodash
<template><button @click="debouncedButtonClick">Click me</button></template><script setup>import { debounce } from 'lodash';const debouncedButtonClick = debounce(() => {console.log('Button Clicked');}, 2000);</script>

多次点击按钮,会在最后一次点击以后的2s,输出Button Clicked。

2、@vueuse/core的useDebounceFn

开始使用 | VueUse 中文网

"@vueuse/core": "^11.0.3",
pnpm add @vueuse/core
  <template><button @click="debouncedButtonClick">Click me</button></template><script setup>import {useDebounceFn} from '@vueuse/core';const debouncedButtonClick = useDebounceFn(() => {console.log('Button Clicked');}, 2000);</script>

3、setTimeout

<template><button @click="debouncedButtonClick">Click me</button>
</template><script setup>
let timeout = null;const debouncedButtonClick = () => {clearTimeout(timeout);timeout = setTimeout(() => {console.log('Button Clicked');}, 2000);
};
</script>

以上事例修改于baidu ai。

4、运行效果:

各种测试,多次点击按钮,会在最后一次点击以后的2s,输出Button Clicked。


http://www.mrgr.cn/news/59974.html

相关文章:

  • 深拷贝和浅拷贝的区别
  • 【HarmonyOS Next】原生沉浸式界面
  • Qt中使用线程之QRunnable
  • C#生成SVG文件(文本、线段、圆、椭圆、多边形的示例)
  • 多线程——线程的状态
  • Maven项目管理工具-初始+环境配置
  • 使用 BERT 和逻辑回归进行文本分类及示例验证
  • 在数据库访问中,使用localhost、127.0.0.1和IP地址有什么差异
  • Java 中的 队列(Queue)与双端队列(Deque)
  • Host Key Verification Failed
  • 软件测试学习总结
  • 【Python】为Pandas加速(适合Pandas中级开发者)
  • PG数据库之数据类型入门
  • 【mysql】什么是当前读
  • JMeter 接口和性能测试常用函数最全解析!
  • ICP之点云特征计算
  • 只需要写几行 SQL,这个网站就搭好了?
  • shell脚本每日一练4
  • GitHub 上传项目保姆级教程
  • 【C++单调栈 贡献法】907. 子数组的最小值之和|1975
  • python基于django线上视频学习系统设计与实现_j0189d4x
  • 【Linux系统编程】——Linux入门指南:从零开始掌握操作系统的核心(指令篇)
  • 基于SpringBoot的中药材进存销管理系统设计与实现
  • 在浏览器中运行 Puppeteer:解锁新能力
  • React 中组件通信的几种主要方式
  • Python实现摇号系统