Я использую Backbone.js для отображения списка элементов (получателей электронной почты), которые имеют другой статус, например.подтверждено, в ожидании и так далее.После того, как список обработан, у пользователя есть возможность отфильтровать их, чтобы пользователь мог перечислить всех получателей или только подтвержденных получателей и т. Д.Элементы (получатели) естественным образом хранятся в коллекции.
Мой подход заключается в том, чтобы использовать событие фильтра:
- Очистить все представления элемента *
- из приложенияview вызывает функцию filterOnStatus в коллекции, которая возвращает все модели и добавляет их в представление.
Шаг 2 работает нормально.Но как лучше всего очистить все элементы в представлении коллекции.
В примере приложения Todo (http://documentcloud.github.com/backbone/examples/todos/index.html) они делают нечто подобное. В представлении приложения следующий код используется для очистки всех завершенныхэлементы из списка.
clearCompleted: function() {
_.each(Todos.done(), function(todo){ todo.destroy(); });
return false;
},
Разница в том, что они делают это, удаляя фактическую модель. И представление этой модели прослушивает событие уничтожения, которое удаляет представление.
Iхотите сохранить модель.
Каков наилучший способ решить эту проблему. Нужно ли в моделях сохранять ссылку на ее виды, а затем перебирать модели и удалять виды?
Есть ли лучший подход, если я хочу фильтровать атрибуты в моделях?