我的目标是即使在设置侦听器后触发事件,也能让此代码运行alert()。标准Backbone.Events.on不支持此功能。
app.trigger('alarm');
app.onRetro('alarm', function(){
alert();
});
只要事件至少已被触发一次,就会立即触发追溯事件侦听器。他们还应该继续为每个后续触发器开火。
可以通过检查app._events.alarm.length来编写处理这个问题,但我想知道是否有人已经解决了这个问题。
答案 0 :(得分:0)
这是一个example,可以帮助您实现自己想要的目标。
在此示例中,如果您致电:
Backbone.Events.trigger('alarm', { retro: true });
alarm
事件将等待下一次调用
Backbone.Events.on('alarm', callback)
执行回调。
我不知道你的需要是什么。所以我设置了一个复古事件,一旦使用它就被删除。您可以根据需要进行修改。