只是我的列表没有刷新。我添加了一个项目,我需要刷新页面才能再次看到新添加的项目,或者再次单击以对项目进行新的api调用并显示新的项目。
抱歉,您提供的代码仍然缺少一些重要信息。我将对您的代码进行一些编辑,以向您展示如何解决它。
让您的[[Service随身携带观察者的ID。
private _liveRefreshData$ = new Subject<number>();
liveAutoRefresh(): Observable<number> {
return this._liveRefreshData$.asObservable();
}
postItem(item) {
return this.http.post('api' , item).pipe(
tap(() => {
this._liveRefreshData$.next(item.id);
})
);
并且在具有第二个表的组件中,使用id如下:
this.apiService.liveAutoRefresh().subscribe( id => { this.functionWhichGetDataAndSubscriberOn(id); }); functionWhichGetDataAndSubscriberOn(id: number): void { this.subscription.push( this.apiService.getDataIDFromItem1(id).subscribe( (data) => { this.documents = data; }, (error: any) => console.log(error) ) );
如果您的其余实现正确,则应该可以。