Я удаляю объект из базы данных с помощью кнопки delete, сделанной в angular 13, но это не удаляет его мгновенно во фронтенде.
мне нужно удалить объект в реальном времени из frontend и backend, объект удаляется из backend мгновенно, но он не отражается во frontend, пока страница не обновится
//удалить компонент
deleteStory(id : string){
console.log(id)
this.storyapiService.deleteStory(id).subscribe();
}
service.ts
deleteStory(id: string): Observable<number>{
return this.http.delete<number>(this.API_URL +id);
}
//html
<button class="btn btn-primary" (click)="deleteStory(story.id)" style="margin-left:5px">Delete </button>
Попробуйте получить данные снова после удаления элемента, чтобы обновить текущее представление.
Надеюсь, что это сработает!
После отправки запроса на удаление в бэкенд, фронтенд не реагирует на результат запроса. Поэтому он ничего не делает.
Вам нужно либо удалить элемент из списка в deleteStory()
после того, как обращение к бэкенду было успешным, либо снова получить все истории из бэкенда.
Вы отправляете на бэкенд сообщение об успехе или неудаче? Если да, используйте результаты вашей подписки,
deleteStory(id : string){
this.storyapiService.deleteStory(id).subscribe(
result => this.refreshPageOrUpdateUIFunction(result), // <-- function to reflect update
error => this.showError(error), // <-- show your errors
);}