Этот вопрос возник после решения этой проблемы спасибо @nils и надеюсь, что кто-нибудь сможет мне помочь!
На самом деле у меня есть список записей, и я могу выбрать некоторые из них и удалить их одним щелчком мыши.
Приведенный выше код работает так, как должен быть, но я не уверен, правильно ли я делаю и может ли он сломаться в любой момент!
Итак, я делаю HTTP-запрос для удаления записи внутри Array.filter()... это правильно? Я чувствую, что это совсем не так!
deleteSelected() {
this.list = this.list.filter(function(val, i) {
var id = val.id.toString();
if (this.selected.indexOf(id) === -1) {
return true;
} else {
this.$http.delete('/sources/' + id)
.then(function() {
return false;
}, function() {
return true;
});
}
}, this);
this.selected = [];
},
Массив this.list
содержит мой список объектов, а массив this.selected
содержит идентификаторы, выбранные для удаления.
Затем, если HTTP-запрос проходит нормально, я удаляю объект, а если нет, то сохраняю его!
Как вы думаете, это хороший способ сделать это?
---------EDIT---------
Добавление JSBin, чтобы было ясно, что мне нужно!
На самом деле я только что обнаружил проблему в своем скрипте... Он не ждет ответа ajax для удаления элемента из массива, поэтому, если какую-то из этих записей нельзя удалить, она будет удалена из массива как хорошо
Кто-то?