2017-06-02 57 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