У меня есть CompositeView, который показывает список моделей, которые я запросил с сервера, что-то вроде (в CoffeeScript):
class List.Stories extends Marionette.CompositeView
template: "stories-list-body"
itemView: List.Story
itemViewContainer: "#stories-list"
class List.Story extends Marionette.ItemView
template: "stories-list-story"
triggers:
"click .js-show-button": "show:button:clicked"
Представления создаются правильно, передавая коллекцию в качестве аргумента для конструктора, я вижу элементы, и когда я нажимаю кнопку, она вызывает соответствующее событие и обрабатывается. Дело в том, что когда обработчик создает новое представление, показывающее модель, и закрывает старое, ссылка на коллекцию все еще находится в model.collection
, занимая часть памяти.
Как правильно удалить эту ссылку? Просто использовать delete model.collection
в обработчике перед заменой представления?