Имам 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
в манипулатора преди замяна на изгледа?