如何记录使用Backbone.Events的所有对象的所有事件?

时间:2016-10-12 22:13:49

标签: javascript backbone.js

我有一组对象,它们以标准方式使用Backbone.Events

var object = {};
_.extend(object, Backbone.Events);

我还有一个第三方库,它提供了一组使用Backbone.Events的对象。

我想有办法记录上述所有这些对象的所有事件。

我了解all事件,但我的问题范围更广。我可以创建一个抽象对象,它记录所有事件并在任何地方使用它,但这对第三方库不起作用,因为我也必须扩展它。

1 个答案:

答案 0 :(得分:0)

我最终编写了Backbone.Layout(来自我使用的third-party library),Backbone.ModelBackbone对象本身的自定义处理程序。

示例:

// similar handler can be written for Backbone.Model
Backbone.Layout.prototype.trigger = function() {
   console.log('view', arguments);
   Backbone.Events.trigger.apply(this, arguments);
}

Backbone.on("all", function(eventName) {
   console.log(eventName, JSON.stringify(arguments));
});