我试图在点击加载更多后更新Observable数组,但会导致多次调用API。如何在加载时更新可观察数组更多
这里是我的html:
<app-productlistother *ngFor="let item of favs$ | async" [item]="item"></app-productlistother>
<a (click)="loadMore()">Load More</a>
组件:
ngOnInit() {
this.favs$ = this._favoriteService.getFavorites(this.pageNum);
}
private loadMore() {
this.pageNum = this.pageNum + 1;
this.favs$ = this.favs$.merge(this._favoriteService.getFavorites(this.pageNum));
}
和服务:
getFavorites(page): Observable<Response> {
return this._http.get(environment.baseUrl + 'favorite?page=' + page)
.map((result: Response) => result.json().data);
}
我怎样才能解决这个问题?在每个新的请求getFavorites(page)
我需要在阵列的底部推新结果...
您需要在您的服务中使用observable,并且需要订阅组件中的obeservable,并且一旦加载更多的数据就会被触发,数据将被添加到observable中,并且组件将会列出所有更改,然后自行更新 –
您能给我举个例子吗? – Vladimir
@Vladmir举了一个例子,希望它有帮助 –