I have observable:
private events$: BehaviorSubject<IEvent[]> = new BehaviorSubject<IEvent[]>([]);
I add data to this observer using:
this.events$.next([{"id": 1}, {"id": 2}, {"id": 3}]);
How to remove item from observable array from template??
<div *ngFor="let item in events | async">
<span (click)="detele(item)">Delete</span>
</div>
I have tried to delete using this:
public delete(event: IEvent): void {
this.confirm
.open({})
.pipe(
filter(Boolean),
concatMap(() => this.eventService.delete(event))
)
.subscribe((updated) => this.eventService.next(updated));
}
And service is:
public delete(event: IEvent): Observable<any> {
return this.eventsService
.delete(event)
.pipe(
concatMap(() =>
this.events$.pipe(
map((events: IEvent[]) =>
events.filter((e) => e.idEvent !== event.idEvent)
)
)
)
);
}