@Kraky

Как сделать reset внешней коллекции при рендере вьюхи в backbone?

Здравствуйте! Возникла следующая проблема:
У меня есть вьюха и модель фильтра, а также вьюха, модель и коллекция списка документов. Мне нужно сделать так, чтобы при событии вьюхи фильтра сработал reset у коллекции списка, чтобы загрузить новую коллекцию в список. Если бы я использовал глобальные переменные, то все было бы проще, но у меня все это работает через require.js. Подскажите, как можно связать вьюху с внешней коллекцией? Спасибо.
  • Вопрос задан
  • 194 просмотра
Пригласить эксперта
Ответы на вопрос 2
Решения, в общем-то три:
1. Передавать нужную коллекцию при инициализации view в качестве параметра.
2. Использовать-таки глобальный объект-observer, который передавать view как зависимость, чтобы оно на нём генерировало события. А внутри этого глобального объекта уже вызывать нужный метод.
3. Использовать marionette.js, где уже есть этот глобальный объект и ещё много всего полезного. Лучше чем там вы не сделаете.
Ответ написан
@amyalichkin
ответил тут Взаимодействие разных моделей и view в Backbone?
общайтесь через шину сообщений
или заведите свою и таскайте
define('dispatcher', ['underscore', 'backbone'], function (_, Backbone) {
  return _.clone(Backbone.Events);
});

require(['dispatcher'], function (dispatcher, ...) {
   ...
   this.listenTo(dispatcher, 'EVENT_NAME', this.myCallback);
   ...
   dispatcher.trigger('EVENT_NAME', data)
   ...
})
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы