Angular: Удалить элемент - удалить из массива или перезагрузить из базы данных - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть массив объектов, который отображается в пользовательском интерфейсе.

Когда запись удаляется / изменяется / добавляется, происходит вызов API для сохранения / изменения / удаления данных в базе данных. В случае, если я получу ответ о статусе 200, я бы хотел обновить sh список в пользовательском интерфейсе.

public deleteObject { 
  this.http.delete(...)
    .subscribe( () => {

      // here the getter method would get called, to get all objects

    }, (error: ErrorModel) => {
      this.errorHandler.handle(error);
  });
}

Какой способ является наиболее распространенным / быстрым для обновления sh списка объектов?

  • Вызовите this.getAllObject (), чтобы сделать новый запрос get?
  • Возвращать список объектов с записью / положением / удалением, чтобы избежать повторного вызова сервера?
  • Изменить / удалить / добавить строку в существующий массив, чтобы предотвратить повторную отправку списка отверстий через inte rnet?
  • Другой способ?

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

это зависит ... Если у вас много данных для обработки в бэкэнде, и это снижает производительность, вы можете использовать модифицированный массив, в противном случае сделать новый запрос к серверу.

0 голосов
/ 29 апреля 2020

Было бы проще удалить элемент из локального массива.

delete(item).subscribe(response => {
  const index = find index of the current item (either by keeping a reference while deleting, or looping through the array to find it)
  this.myArray = this.myArray.splice(index, 1);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...