hincky的主页 hincky的主页
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)

Hincky

当有趣的人,做想做的事
  • 学习笔记

    • Vue笔记
    • Vuepress
    • nginx
  • 语言类

    • java
    • go
    • python
    • 设计模式
  • 框架类

    • Spring
    • Spring Security
    • Mybatis
  • 容器技术

    • docker
    • k8s
    • helm
    • prometheus
    • grafana
    • jenkins
  • 命令集合

    • linux命令
    • docker命令
    • git命令
    • vim命令
    • k8s命令
  • 数据库

    • sql
    • mysql
  • 协议

    • 网络模型
    • http/1.1
    • WebSocket
    • http/2
    • TLS/SSL
    • tcp
    • IP
    • tcpdump抓包命令
    • wireshark抓包工具
  • 通用

    • Git
  • 技术分享

    • git push/pull总是超时怎么办
    • idea debug技巧
    • postman使用
    • 问题总结
    • idea使用技巧
  • Oauth2

    • Oauth2原理
  • 项目列表

    • redis项目
    • 微服务项目
  • 分类
  • 标签
  • 归档
  • 随笔
GitHub (opens new window)
  • Vue笔记

    • 基础

    • 组件

    • 过渡&动画

    • 可复用性&组合

    • 工具

    • 规模化

    • Vuex

    • 其他

      • Vue中的防抖函数封装和使用
        • 操作本地缓存
    • vuepress

    • nginx

    • 前端
    • 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
    Vuex
    操作本地缓存

    ← Vuex 操作本地缓存→

    最近更新
    01
    人生前期重要的能力
    05-17
    02
    防火墙命令
    04-11
    03
    docker-compose部署mysql主从集群
    03-22
    更多文章>
    Theme by Vdoing | Copyright © 2022-2023 Hincky | MIT License | 粤ICP备2022120427号
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式