import { AfterViewInit, OnDestroy, ElementRef, NgZone, OnChanges, SimpleChanges } from '@angular/core'; import * as i0 from "@angular/core"; interface VirtualItem { index: number; data: any; } export declare class VirtualScrollComponent implements AfterViewInit, OnChanges, OnDestroy { private ngZone; viewport: ElementRef; templateContainer: ElementRef; /** 列表数据 */ ncItems: any[]; /** 列表项模板 */ ncItemTemplate: any; /** 缓冲item数量,前后各2项 */ ncBufferCount: number; initialized: boolean; private viewInitialized; private resizeObserver; visibleItems: VirtualItem[]; totalPadding: number; topPadding: number; scrollTop: number; itemHeight: number; viewportHeight: number; constructor(ngZone: NgZone); /** * 场景 触发行 原因 * 初始就有值(同步) 第 49 行measureAndUpdate ngOnChanges 先执行但 viewInitialized=false 跳过,由 ngAfterViewInit 补调 * 初始无值,后续赋值(异步) 第 75 行measureAndUpdate ngAfterViewInit 时无数据跳过,数据到达时 ngOnChanges 直接调用 */ ngAfterViewInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; /** 测量 itemHeight 并更新列表(需在 ngAfterViewInit 之后调用) */ private measureAndUpdate; onScroll(): void; updateVisibleItems(): void; updateTotalPadding(): void; trackByIndex(index: number, item: VirtualItem): number; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};