我想实现这个界面
addListener(name, callback);
removeListener(name, [callback]); // callback is optional
trigger(name);
所有事件都将在内部事件总线上触发
var bus = {}
这不是界面的一部分。
这是我能想象的最简单的界面,实际上很有用。
但是我仍然不知道如何在概念上实现这些接口。我仔细阅读了backbone event system,但还不太明白他们如何实现这个核心功能。
我只想编写一个尽可能简单且基于更复杂的Backbone事件系统的快速10-100线事件系统。
答案 0 :(得分:3)
您可以使用Backbone.Events模块。
无耻地偷走了您可以使用应用程序级事件聚合器:
MyApp = {};
MyApp.vent = _.extend({}, Backbone.Events);
MyApp.vent.on("some:event", function(){
alert("some event was fired!");
});
MyApp.vent.trigger("some:event");
答案 1 :(得分:0)
查看最小事件总线库minibus.js。它目前有不同的API,但可能正是您正在寻找的。 p>
var bus = Minibus.create();
bus.on(name, callback); // add listener
bus.emit(name); // trigger event
bus.off(name); // remove listener