Я закодировал этот html:
<p-table #usersTable ...>
<p-table>
Я пытаюсь подобрать этот элемент, чтобы создать наблюдаемое событие onLazyLoad
:
@ViewChild('usersTable')
private usersTable: ElementRef;
Для создания наблюдаемой:
public ngAfterViewInit() {
let lazyTable$ = Observable
.fromEvent(this.usersTable.nativeElement, 'onLazyLoad')
.pipe(debounceTime(300));
}
Тем не менее, this.usersTable
не определено.
С другой стороны, я совсем не уверен в правильности создания наблюдаемого события.
Я использовал
@ViewChildren(DataTable) private usersTable: QueryList<DataTable>;
Тем не менее, при внесении изменения query.length
всегда равно 0:
let lazyClick$ = this.usersTable.changes
.pipe(
filter((query: QueryList<DataTable>) => {
return query.length > 0;
}),
map((query: QueryList<DataTable>) => {
return query.first;
}),
switchMap((table) => {
return table.onLazyLoad.asObservable();
})
);
Есть идеи?