2017-06-02 19 views
0

我正在使用lodash.debounce和&符視圖。&符視圖&lodash.debounce

我註冊了視圖事件的事件處理程序,例如

events: { 
     'click [data-hook~=power-on]': "power", 
     'click [data-hook~=shutdown]': 'shutdown', 

但我想使用去抖動,以便它不觸發太頻繁,如果用戶垃圾按鈕。

但是,事件註冊似乎只採用方法名稱字符串。

我確定我錯過了一些簡單的東西;但它是一個非常漫長的一週..

解決方案

我使用的視圖定義的方法(開機:函數()),但沒有工作,因爲它似乎this.powerOn沒有找到參考;我不得不搬到了開機功能視圖外,那麼下面的工作:

'click [data-hook~=power-on]': debounce(powerOn, 2000, { 'leading': true, 'trailing': false }), 

回答

1

回調可以是對視圖的方法,或實際函數的名稱。 https://ampersandjs.com/docs/#ampersand-view-events

所以,你可以在事件中使用函數:

events: { 
    'click [data-hook~=power-on]': _.debounce(callback) 
} 
+0

我使用的視圖定義的方法(開機:函數()),但沒有奏效,因爲它似乎在這未找到.powerOn參考;我必須將powerOn功能移到視圖之外。 – Syntax