Backbone.js Представления, привязанные к внешней модели

#javascript #model-view-controller #backbone.js

#javascript #модель-представление-контроллер #backbone.js

Вопрос:

Скажите, ListTwoItemView который используется для представления модели ListTwoItem , и который ListTwoItem содержит идентификатор ListOneItem , с которым он связан.

Если пользователь удаляет a ListOneItem , все ListTwoItem ссылки на него должны быть удалены. Имеет ли смысл, если я привяжу ListTwoItemView к связанному ListOneItem , чтобы в случае удаления элемента, на который ссылается ссылка, ListTwoItem модель и представление также были удалены?

Ответ №1:

Нет, это не так. Модели не знают о представлениях. Что вы обычно делаете в этом случае, так это то, что ваш ListOneItem уничтожит ваш ListTwoItem, когда он сам будет уничтожен.

Это вызовет событие «удалить» в коллекции, частью которой является ListTwoItem (если оно ни в чем не является частью, вы должны сами запустить событие). Прослушайте это событие и удалите / повторно отобразите представление по мере необходимости.

Комментарии:

1. что, если я привяжу ListTwoItem к ListOneItem и уничтожу себя, когда ListOneItem будет уничтожен? Таким образом, ссылка всегда устанавливается, и ListOneItem не обязательно знать о коллекции ListTwoItem, а также не нужно циклически перебирать все ListTwoItem и удалять любую эту ссылку самостоятельно.