Мои два цента: есть простой «хак», который вы можете сделать с backbone.js, чтобы фактически иметь паб / саб, который может общаться между представлениями:
Что-то вроде этого (не проверено):
var EventBus = Backbone.Model.extend({
publish: function(event, args){
this.trigger(event, args);
},
subscribe: function(event, args) {
this.bind(event, args);
}
});
Вы в основном поняли идею. Теперь для каждого представления имейте «привязку» к этому EventBus (поскольку представления могут привязываться только к моделям / коллекциям в магистрали) - вы в основном просто используете имена методов publish / subscribe для синхронизации с номенклатурой такой модели, но вы может выбрать не Просто создайте пустой EventBus
'class' в этом случае и каждый вид привязывается к нему:)
Таким образом, каждый просмотр должен быть связан с этим EventBus
и действовать на основании полученных событий! Backbone.js внутренне обрабатывает всю структуру этого шаблона проектирования, так что вы получите его бесплатно:)
Приведенный выше код может не работать как есть, но есть, чтобы дать вам представление об этом ...