【问题标题】:Debouncing a Vue Component method with Lodash使用 Lodash 去抖动 Vue 组件方法
【发布时间】:2017-07-08 19:36:59
【问题描述】:

我试图在 Vue 2 方法上使用 Lodash 的 debounce,以便仅在用户停止在输入字段中输入时运行,但我得到了意想不到的结果:

输入字段

<input type="text" v-model='filter.user' placeholder="search" @keyup='dTest'>

方法

 dTest() {
        const d = _.debounce(() => {
            console.log('hi');
        }, 2000);
        d();
    }

但是,每次按键时都会将“hi”记录到控制台,延迟两秒。

谢谢

【问题讨论】:

    标签: vue.js lodash vuejs2


    【解决方案1】:

    dTest 更改为:

    dTest = _.debounce(() => {
        console.log('hi');
    }, 2000);
    

    使用 dTest,每次运行 dTest 时,您都会创建一个新的去抖动函数。你应该只创建一次这个函数,就像你在上面看到的那样,然后每次都调用那个函数。

    【讨论】:

    • 谢谢!你能解释一下为什么速记方法在这里不起作用吗?
    • 感谢您的帮助!
    猜你喜欢
    • 2021-07-16
    • 2016-10-01
    • 2017-05-03
    • 1970-01-01
    • 2016-07-17
    • 2019-03-29
    • 2015-05-21
    • 2019-01-27
    • 1970-01-01
    相关资源
    最近更新 更多