Как регистрировать все события от всех объектов, которые используют Backbone.События?

#javascript #backbone.js

#javascript #backbone.js

Вопрос:

У меня есть набор объектов, которые используются Backbone.Events стандартным способом:

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

Также у меня есть сторонняя библиотека, которая предоставляет набор объектов, которые используют Backbone.Events .

Я хотел бы иметь способ регистрировать все события от всех этих объектов, описанных выше.

Я знаю о all событии, но мой вопрос шире по объему. Я могу создать абстрактный объект, который регистрирует все события и использовать его везде, но это плохо работает со сторонними библиотеками, потому что мне также приходится расширять его.

Ответ №1:

В итоге я написал пользовательские обработчики для Backbone.Layout (из используемой мной сторонней библиотеки) 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));
});
  

Комментарии:

1. @EmileBergeron Я бы тоже хотел. Но в нем говорится: «вы можете принять свой собственный ответ завтра»