我有一组对象,它们以标准方式使用Backbone.Events
:
var object = {};
_.extend(object, Backbone.Events);
我还有一个第三方库,它提供了一组使用Backbone.Events
的对象。
我想有办法记录上述所有这些对象的所有事件。
我了解all
事件,但我的问题范围更广。我可以创建一个抽象对象,它记录所有事件并在任何地方使用它,但这对第三方库不起作用,因为我也必须扩展它。
答案 0 :(得分:0)
我最终编写了Backbone.Layout
(来自我使用的third-party library),Backbone.Model
和Backbone
对象本身的自定义处理程序。
示例:
// 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));
});