Backbone JS: можно ли просматривать триггерные обновления в других представлениях?

В моем простом проекте у меня есть 2 представления - представление позиции (бренд) и приложение. Я добавил функцию, позволяющую выбирать несколько элементов:

var BrandView = Backbone.View.extend({
...some code...
    toggle_select: function() {
        this.model.selected = !this.model.selected;
        if(this.model.selected) $(this.el).addClass('selected');
        else $(this.el).removeClass('selected');
        return this;
    }
});

var AppView = Backbone.View.extend({
...some code...
    delete_selected: function() {
        _.each(Brands.selected(), function(model){ 
            model.delete_selected();
        });
        return false;
    },
});

Дело в том, что я хочу знать, сколько элементов выбрано. В этой настройке выбор НЕ влияет на модель и, следовательно, не запускает никаких событий. И из концепции MVC я понимаю, что представления не должны напрямую общаться с другими представлениями. Итак, как AppView может знать, что что-то выбрано в BrandViews?

В частности, я использую AppView, чтобы узнать, сколько элементов было выбрано, поэтому, если выбрано более 1 элемента, я показываю меню для множественного выбора.

45
задан mvbl fst 2 April 2012 в 22:44
поделиться