Как дифференцировать scrollDispatcher для нескольких виртуальных прокрутки в одном компоненте? - PullRequest
0 голосов
/ 04 июня 2019

Я использую несколько виртуальных прокрутки (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);  
   });
}
...