Я разрабатываю веб-приложение jquery и backbone.js.
Один компонент имеет таблицу html, а за этой таблицей - коллекция backbone.js.
Любые изменения в этой коллекции должны привести к обновлению таблицы html, поэтому я пишу
this.collection.bind("reset add remove", this.renderRows, this);
Итак, я обновляю таблицу html, когда вся коллекция становится новой, когда новая модель добавляется и когда модель удаляется.
Также есть компонент подробного представления, который вызывается, когда пользователь зависает и нажимает на определенную строку таблицы html. В начале этого компонента я получаю правильную модель из коллекции
changeModel = this.collection.get(id);
После того как пользователь изменил некоторые атрибуты, я делаю
changeModel.set(attrs);
и вернуться в таблицу html. Модель в коллекции имеет правильные измененные значения.
Но таблица html не обновляется, поскольку ни одно из трех событий (reset, add, remove) не было запущено.
Итак, я добавил "заменить" на привязку коллекции
this.collection.bind("replace reset add remove", this.renderRows, this);
и перед возвратом из подробного представления я назвал
this.collection.trigger("replace");
Мое решение работает, но мой вопрос:
Есть ли какое-либо "родное" решение backbone.js, которое уже существует и что я пропустил, и где мне не нужно что-то запускать?