我开始在网络应用中实施Backbone。
应用程序已经拥有了自己的一些对象,还有一个用于跨对象事件通信的Mediator(此处称为EventTools)。所以对于前者。一个对象订阅如下:
EventTools.add({
"gt_pos_ready":function(coords){
//code;
}.bind(this),
});
然后其他一些对象触发事件:
EventTools.fire("gt_pos_ready", args..);
精细。但是,如果我想要一个视图或其他Backbone对象来监听EventTools触发某些事件呢?
答案 0 :(得分:1)
您可以使用 Backbone.Events 而非您自己的方式来触发和收听事件:
_.extend(EventTools, Backbone.Events);
EventTools.on("gt_pos_ready", function(coords) {
/*Code for gt_pos_ready()*/
});
EventTools.trigger("gt_pos_ready", {LNG:"40.542343",LAT:"32.232423"});
我确定你使用的是lodash / underscore,因为它是一个Backbone dep,所以这应该可行。