Backbone.js удалить модель из коллекции

Я изучаю Backbone и ради жизни не могу удалить модель из коллекции. Событие "удалить" коллекции запускается, но коллекция остается неизменной. Вот что у меня есть: http://jsbin.com/becamo/edit?js,output

Я удаляю модель из коллекции по клику.

Затем представление списка прослушивает событие удаления коллекции и снова вызывает render().

Я вижу из console.log(), что событие удаления срабатывает, но ничего не меняется. И когда я проверяю переменную коллекции, она не изменяется. Я пробовал, наверное, 50 вариантов, пока искал в Интернете подсказки, и, похоже, ничего не работает.

1 ответ

Решение

Вам не нужно реализовывать remove в коллекции - просто удаление вашей попытки переопределить стандартное исправляет проблему. Таким образом, реализация коллекции становится:

var UserCollection = Backbone.Collection.extend({
  model: User
});

Вместо:

var UserCollection = Backbone.Collection.extend({
  model: User,
  initialize: function() {
    this.on('remove', this.remove);
  },
  remove: function() {
    console.log('Collection Event: REMOVE');
  }
});

http://jsbin.com/jefudiyido/1/edit?js,output

Другие вопросы по тегам