我在同一组件中使用了(A,B,C,D)的多个虚拟滚动。如果我滚动,则需要根据itemSize追加数据。同样,对于B,C,D卷轴也是如此。但是我无法区分滚动(A,B,C,D)
我在ngAfterViewInit中使用了ScrollDispatcher,并且在滚动发生时增加页码并从API获取数据,将其追加到滚动
import { CdkVirtualScrollViewport, ScrollDispatcher } from '@angular/cdk/scrolling';
constructor(private scrollDispatcher: ScrollDispatcher, private zone:NgZone) { }
ngAfterViewInit(): void {
this.scrollDispatcher.scrolled(500)
.subscribe((viewport: CdkVirtualScrollViewport) => {
if(viewport) {
this.searchPageNumber++;
this.nextSearchPage(this.searchPageNumber);
}
});
}
nextSearchPage(pageNumber: number): void {
this.zone.run( () =>{
setTimeout( () => {
//get result from API and Bind data here
},200);
});
}