0

我开始在 Web 应用程序中实现 Backbone。

该应用程序已经有一些自己的对象,还有一个用于跨对象事件通信的 Mediator(这里称为 EventTools)。所以对于前。一个对象订阅如下:

  EventTools.add({

    "gt_pos_ready":function(coords){
      //code;
    }.bind(this),

  });

然后其他一些对象触发事件:

EventTools.fire("gt_pos_ready", args..);

美好的。但是如果我想要一个视图或其他 Backbone 对象来监听 EventTools 触发的一些事件呢?

4

1 回答 1

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,所以这应该可以工作。

于 2013-11-27T13:33:38.203 回答