Я создаю одностраничное приложение. Я хочу удалить представление при переключении на другое представление. В текущем представлении у меня есть коллекция фотографий. Как я могу эффективно удалить представление и представления коллекции фотографий без утечек памяти?Эффективные способы удаления вложенного представления в Backbone
Я сделал следующее:
уничтожить метод:
destroy: function(){
this.undelegateEvents();
this.stopListening();
this.$el.empty();
collection.reset();
}
событие:
this.listenTo(collection, 'reset', this.resetBoard);
обработка событий:
resetBoard: function(collection, options){
var models = options.previousModels;
_.each(models, function(model){
model.id = null;
model.destroy();
});
}
здесь я опорожнить $ эш первый ($ el wiil будет использоваться другим видом s), так что операция DOM может быть выполнена за один раз. Затем я перезапускаю коллекцию и уничтожаю эти модели и связанные с ними виды.
Правильно ли эта логика? Есть ли лучшие решения?