U haz Backbone追溯`on`事件监听器?

时间:2014-02-26 19:02:20

标签: javascript backbone.js marionette

我的目标是即使在设置侦听器后触发事件,也能让此代码运行alert()。标准Backbone.Events.on不支持此功能。

app.trigger('alarm');

app.onRetro('alarm', function(){
  alert();
});

只要事件至少已被触发一次,就会立即触发追溯事件侦听器。他们还应该继续为每个后续触发器开火。

可以通过检查app._events.alarm.length来编写处理这个问题,但我想知道是否有人已经解决了这个问题。

1 个答案:

答案 0 :(得分:0)

这是一个example,可以帮助您实现自己想要的目标。

在此示例中,如果您致电:

Backbone.Events.trigger('alarm', { retro: true });

alarm事件将等待下一次调用

Backbone.Events.on('alarm', callback)

执行回调。

我不知道你的需要是什么。所以我设置了一个复古事件,一旦使用它就被删除。您可以根据需要进行修改。