知识管理文档 知识管理文档
首页
  • 学习笔记

    • 记录
  • 学习教程

    • ES6
    • Vue
    • Git
  • Java全栈

    • java进阶
    • SpringBoot
  • Golang

    • GoWeb
  • Python

    • Django
  • 总结
  • Docker
  • Linux
  • Mysql
  • Redis
  • Nginx
  • 区块链
  • 后端开发
  • FISCOBCOS

    • JavaSDK快速开发
  • Fabric

    • 链码的使用
  • XuperChain

    • 测试
技术文档
Ocean
GitHub (opens new window)
首页
  • 学习笔记

    • 记录
  • 学习教程

    • ES6
    • Vue
    • Git
  • Java全栈

    • java进阶
    • SpringBoot
  • Golang

    • GoWeb
  • Python

    • Django
  • 总结
  • Docker
  • Linux
  • Mysql
  • Redis
  • Nginx
  • 区块链
  • 后端开发
  • FISCOBCOS

    • JavaSDK快速开发
  • Fabric

    • 链码的使用
  • XuperChain

    • 测试
技术文档
Ocean
GitHub (opens new window)
  • 基础

    • MVVM模式
    • 生命周期
    • 计算属性 vs 方法 vs 侦听属性
    • v-if vs v-show
    • 列表渲染之数组、对象更新检测
  • 组件

    • 使用组件的细节点
    • 父组件给子组件传值
    • 子组件派发事件和值给父组件
    • Prop 验证 与 非 Prop 的 Attribute
    • 自定义事件
    • 兄弟组件传值
    • 非父子组件传值
    • 父组件调用子组件方法并传入值
    • 插槽slot
    • 动态组件与 v-once 指令
    • vue父子组件的生命周期顺序
  • 过渡&动画

    • transition过渡&动画
    • 使用animate库
    • transition-group列表过渡
  • 可复用性&组合

    • Mixin混入
  • 工具

    • Vue CLi v3 创建项目使用记录
  • 规模化

    • vuex操作相关
    • 路由懒加载
  • Vuex

    • Vuex
  • 其他

    • Vue中的防抖函数封装和使用
      • 操作本地缓存
    • 《Vue》笔记
    • 其他
    DeepTechDiver
    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))
      }
    

    # 相关文章

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

    Vuex
    操作本地缓存

    ← Vuex 操作本地缓存→

    Theme by Vdoing | Copyright © 2023-2024 Deep Sea | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式