Как дифференцировать scrollDispatcher для нескольких виртуальных прокрутки в одном компоненте?

У меня есть несколько виртуальных прокрутки (A,B,C,D) в одном компоненте. Если я прокручиваю данные, данные нужно добавлять на основе itemSize. аналогично для свитков B, C, D. Но я не могу отличить свитки (A,B,C,D)

Я использовал ScrollDispatcher в ngAfterViewInit и, пока происходит прокрутка, увеличивает номер страницы и получаю данные из 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);  
   });
}

0 ответов

Другие вопросы по тегам