用Lodash去抖Vue组件方法

时间:2017-02-19 15:28:27

标签: vue.js lodash vuejs2

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

INPUT FIELD

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

方法

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

然而,&#39;嗨&#39;在每次按键时都会记录到控制台,延迟时间为2秒。

感谢

1 个答案:

答案 0 :(得分:3)

dTest更改为:

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

使用dTest,每次运行dTest时都会创建一个新的去抖功能。您只想创建此函数一次,如上所示,然后每次都调用该函数。