Коллекции Backbone отсоединяются от моделей при сбросе / выборке

Я разрабатываю приложение, в котором есть два представления.

Представление 1 - это список документов, в котором представлены некоторые важные детали. Представление 2 - это сам документ. Редактируемый.

Приложение многопользовательское. Таким образом, приложение опрашивает сервер на предмет обновлений коллекции.

Проблема в том, что когда коллекция (представление 1) обновляется (.fetch), она отключает все события из дочерних моделей. Включая тот, который открыт в представлении 2. Там, где, как и до выборки, любые изменения в документе (модели) отражались в списке (коллекции), после выборки документ (теперь старая модель) теперь не связан со списком (коллекцией) .

Посмотрев исходный код backbone.js, мы увидим предполагаемое поведение. Есть ли решение для этого?


person Justin Alexander    schedule 05.06.2012    source источник
comment
Возможное решение - обернуть метод сохранения модели и при успешном сохранении повторно добавить себя в родительскую коллекцию.   -  person Justin Alexander    schedule 05.06.2012


Ответы (1)


Да, это очень распространенная проблема. Коллекция сбрасывается, и все ссылки на нее обновляются, даже если они нацелены на те же модели, что и раньше.

Я думаю, было бы неплохо реализовать метод Collection.update() вместо Collection.fetch().

Проверьте этот протектор, чтобы узнать, как справиться с этим поведением: Обновление коллекции Backbone.js?

person fguillen    schedule 05.06.2012