【发布时间】:2020-11-11 13:17:40
【问题描述】:
我想在 Angular 中实现一个无限表,所以当我向下滚动到现有表时,我想从 API 获取下一组数据。我正在尝试使用BehaviorSubject 来执行此操作,如下所示:
page: number = 0;
size: number = 10;
clientsData$: BehaviorSubject<any> = new BehaviorSubject<any>([]);
onTableScroll(e): void {
// get the next set of data
this.getData();
}
getData(): void {
this.clientsService.getAllClients().pipe(
tap((data) => {
this.clientsData$.next(data);
console.log('this.clientsData$: ', this.clientsData$); // it never reaches this line
})
);
}
ngOnInit(): void {
this.getData();
}
但问题是,即使我在模板中使用了async 管道,它似乎也没有订阅BehaviorSubject。所以在初始化时,这根本不起作用,我什至没有得到初始数据)。
每次调用getData() 并更新表格时,我都需要获取一组新数据。
我不想使用subscribe,而是在t 模板中使用async 管道。
请指教,谢谢!
【问题讨论】:
标签: angular rxjs behaviorsubject