当前位置:   article > 正文

vue3中如何使用防抖和节流

vue3中如何使用防抖和节流

1.封装

在src/utils文件夹中新建文件handleDebounce.js,用于封装防抖和节流

  1. // 防抖
  2. export function debounce(fn, delay = 200) {// fn是需要防抖的函数,delay是延迟多少毫秒执行fn
  3. let timer = null;
  4. return function () {
  5. if (timer) {
  6. clearTimeout(timer);
  7. }
  8. timer = setTimeout(() => {
  9. fn.apply(fn, arguments);
  10. timer = null;
  11. }, delay)
  12. }
  13. }
  14. // 节流
  15. export function throttle(fn, delay = 100) {
  16. let timer = null;
  17. return function () {
  18. if (timer) return;
  19. timer = setTimeout(() => {
  20. fn.apply(fn, arguments);
  21. timer = null;
  22. }, delay)
  23. }
  24. }

2.引入使用

  1. <el-button @click="clickEvent">防抖</el-button>
  2. <el-button @click="clickEvent2">节流</el-button>
  3. import { debounce,throttle } from "@/utils/handleDebounce";
  4. const clickEvent = debounce(
  5. () => {
  6. console.log("防抖");
  7. }, 800);
  8. const clickEvent2 = throttle(
  9. () => {
  10. console.log("节流");
  11. }, 800);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/算法编织者/article/detail/62748
推荐阅读
相关标签
  

闽ICP备14008679号