2017-02-19 44 views
2

我試圖使用Lodash的debounce在Vue公司2的方法,以只運行一次一個用戶已經停止打字輸入字段,但我得到意想不到的結果:去抖一個Vue的組件法Lodash

INPUT FIELD

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

方法

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

然而, '喜' 被記錄到控制檯上的每個科ypress,延遲了兩秒鐘。

感謝

回答

1

更改dTest到:

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

與您DTEST,你正在創建一個新的防抖動功​​能的每一DTEST運行時間。你只是想創建一次這個函數,就像你上面看到的那樣,然後每次調用這個函數。

+0

謝謝!你能解釋爲什麼速記方法在這裏不起作用嗎? – aprouja1

+0

當然,我更新了我的答案。 – NotABlueWhale

+0

感謝您的幫助! – aprouja1