SvetlyiAkaPro
@SvetlyiAkaPro

Что не так с удалением моделей из коллекции Backbone?

Не могу удалить все модели из коллекции, удаляются только частично. Хранятся в LocalStorage. Удаляю так:
_.each(myApp.Animals.models, function(animal) {
	animal.destroy();
});

Удаляются несколько элементов и выводится ошибка "cannot read property destroy of undefined". Тоже самое с
myApp.Animals.invoke('destroy');
Хотя такой код отлично работает, все рендерится
_.each(myApp.Animals.models, function(animal) {
	var animalView = new myApp.AnimalInMyListView({'model': animal});
	self.$el.find('table').append(animalView.render().el);
});

Создаю так:
addAnimal: function(animal) {
	var newAnimal = animal.clone();
	newAnimal.set({amount: 1});
	myApp.Animals.create(newAnimal);
}
  • Вопрос задан
  • 2529 просмотров
Решения вопроса 1
SvetlyiAkaPro
@SvetlyiAkaPro Автор вопроса
Решил так:
_.each(myApp.Animals.models, function(animal) {
  myApp.Animals.models[0].destroy();
});

Оказывается массив сдвигался после удаления, поэтому и не работало
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы