&ersand view & lodash.debounce



我正在使用lodash.debounce和ampersand-view。

我为视图事件注册了事件处理程序,例如

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

,但我想使用debounce,以便如果用户垃圾邮件垃圾邮件,它不会频繁触发。

但是,事件注册似乎仅采用方法名称字符串。

我敢肯定我错过了一些简单的东西;但这是一个漫长的一周。

解决方案

i使用了在视图(poweron:function(((上定义的方法,但这无效,因为似乎找不到this.poweron参考。我必须将Poweron功能移到视图之外,然后以下操作工作:

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

回调可以是视图上方法的名称,也可以是实际功能。 https://ampersandjs.com/docs/#ampersand-view-events

因此您可以在事件中使用功能:

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

最新更新