2016-10-12 3 views
1

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

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

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

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

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

ответ

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)); 
}); 
+0

принять свой собственный ответ. –

+1

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