Will's blog Will's blog
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • VUE
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

will

前端小学生
首页
  • 前端文章

    • JavaScript
  • 学习笔记

    • 《JavaScript教程》
    • 《JavaScript高级程序设计》
    • 《ES6 教程》
    • 《Vue》
    • 《React》
    • 《TypeScript 从零实现 axios》
    • 《Git》
    • TypeScript
    • JS设计模式总结
  • HTML
  • CSS
  • VUE
  • 技术文档
  • GitHub技巧
  • Nodejs
  • 博客搭建
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 基础

  • 组件

  • 过渡&动画

  • 可复用性&组合

  • 工具

  • 规模化

  • Vuex

  • 其他

    • Vue中的防抖函数封装和使用
      • vite 包缓存问题 处理
      • 操作本地缓存
    • 《Vue》笔记
    • 其他
    xugaoyi
    2020-02-04
    目录

    Vue中的防抖函数封装和使用

    # Vue中的防抖函数封装和使用

    如搜索框中,每改变一个数值就请求一次搜索接口,当快速的改变数值时并不需要多次请求接口,这就需要一个防抖函数:

    // 防抖函数
    
    export function debounce(func, delay) { // func 函数 delay间隔时间
    
      let timer
    
      return function (...args) {
    
        if (timer) {
    
          clearTimeout(timer)
    
        }
    
        timer = setTimeout(() => {
    
          func.apply(this, args)
    
        }, delay)
    
      }
    
    }
    
    
    
    
    
    
    
    
    
    //使用:
    
    import { debounce } from '@/common/js/util'
    
    
    
    created() {
    
        /**
    
         * 为什么不直接在watch里面写???
    
         * 因为要做防抖处理,防止在快速输入时多次请求接口
    
         */
    
        this.$watch('query', debounce((newQuery) => {
    
          this.$emit('query', newQuery)
    
        }, 200))
    
      }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28

    # 相关文章

    防抖与节流函数 (opens new window)

    编辑此页 (opens new window)
    #Vue
    上次更新: 2024/08/23, 09:45:36
    Vuex
    vite 包缓存问题 处理

    ← Vuex vite 包缓存问题 处理→

    最近更新
    01
    我用AI写前端代码这一年:从怀疑到真香的转变
    09-15
    02
    基于 Next.js 的无人机数据孪生可视化平台实践
    07-17
    03
    vite 包缓存问题 处理
    06-04
    更多文章>
    Theme by Vdoing | Copyright © 2019-2025 Will | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式