У меня есть служба, которая извлекает документы и перечисляет их метаданные на странице, которая отлично работает. Я хочу реализовать «бесконечную прокрутку» и посмотрел npm i angular2-infinite-scroll
На данный момент я использую наблюдаемое для документов и асинхронный канал в цикле *ngFor
.
список-документов.ts
export class DocumentList implements OnInit {
documents: Observable<Array<Document>>;
chunck: number = 100;
from: number = 0;
keyword: string = "";
constructor(private _documentService: DocumentService) {}
ngOnInit() {
this.documents = this._documentService.getDocuments(this.chunck, this.from, this.keyword);
}
}
С angular2-infinite-scroll у меня есть функция, которая вызывается, когда я прокручиваю страницу вниз, я пытаюсь получить больше документов и представить их метаданные на странице с тем, что уже есть.
onScroll() {
this.from = documents.length ... ?
//this.documents = this._documentService.getDocuments(this.chunck, this.from, this.keyword);
}
Я не уверен, возможно ли это, когда я использую наблюдаемое? Если вместо этого я использую простой массив для документов, documents: Document[]
я могу сделать что-то вроде
onScroll() {
this._documentService.getDocuments(this.chunck, this.from, this.keyword)
.subscribe(documents => this.documents.push(documents));
}
Любые другие идеи?