Как я могу «всплывать» событиями в иерархии Backbone View?

У меня есть базовое приложение со структурой представления, которая выглядит следующим образом - обратите внимание, что для краткости я удалил реализации, модели, коллекции и т. д.:

NewsListView = Backbone.View.extend({

    el: $('li#newspane'),

    // This is what I would like to be able to do
    // events: { 'filtered': 'reset' }

    initialize: function() {
        _.bindAll(this);
    },

    render: function() {
    },

    reset: function(){
    }

});

FilterView = Backbone.View.extend({

    el: $('li.filter'),

    initialize: function() {
    },

    render: function() {
    },

    toggleFilter: function() {
    }

});

AllView = Backbone.View.extend({

    initialize: function() {

        this.newsListView = new NewsListView();
        this.filterView = new FilterView();

    }

});

По сути, всякий раз, когда вызывается функция toggleFilter () FilterView , я хотел бы запускать событие с именем отфильтровано или что-то в этом роде. затем перехватывается NewsListView , который затем вызывает свою функцию reset () . Без передачи ссылки на объект NewsListView моему FilterView , Я не знаю, как отправить ему событие. Есть идеи?

19
задан rybosome 23 February 2012 в 00:15
поделиться