Vue lodash.debounce防抖函数

Vue 中使用防抖函数

这篇文章也是衔接我之前文章,输入内容延迟显示。

一般防抖函数,一般都是自己写,或者直接搜的类似这种

function debounce(fn,wait){
    var timer = null;
    return function(){
        if(timer !== null){
            clearTimeout(timer);
        }
        timer = setTimeout(fn,wait);
    }
}

Vue官网Demo

https://cn.vuejs.org/v2/guide/computed.html#侦听器

我看到Vue官网 侦听器 使用了lodash这个组件

created: function () { 
// _.debounce 是一个通过 Lodash 限制操作频率的函数。 
// 在这个例子中,我们希望限制访问 yesno.wtf/api 的频率 
// AJAX 请求直到用户输入完毕才会发出。想要了解更多关于 
// _.debounce 函数 (及其近亲 _.throttle) 的知识,
// 请参考:https://lodash.com/docs#debounce
this.debouncedGetAnswer = \_.debounce(this.getAnswer, 500)
}

我就在想既然,官网都不用自己手写的,那我也用一下这个。

lodash.debounce

先看 https://lodash.com/docs#debounce 文档

由于我只用了防抖,所以我只安装防抖函数

npm i --save lodash.debounce

使用


import debounce from 'lodash.debounce'

textChange: debounce(function() {
        //注意这里如果使用箭头函数的话, this为 undefined https://github.com/vue-styleguidist/vue-docgen-api/issues/23
         // do sth
}, 300)

总结

已经有轮子的话,就不要自己造轮子,当然练习的时候可以自己造。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值