2017-11-11 72 views

回答

0

可以使用例如這個庫https://www.npmjs.com/package/ngx-infinite-scroll

<div infiniteScroll 
      [infiniteScrollDistance]="2" 
      [infiniteScrollThrottle]="50" 
      (scrolled)="onScroll()"> 
     </div> 

然後實現onScroll(),你下一步需要加載10條記錄,並將它們附加到現有陣列。

+0

感謝您的回答。 @Anton使用ngx-infinite-scroll我得到infinitescrolldistance錯誤donot有div元素atrribute。我不明白爲什麼會發生此錯誤。 –

+0

您需要在AppModule中添加InfiniteScrollModule。嘗試在'ngx-infinte-scroll'中表示的例子 –

+0

我在我的應用程序模塊中添加了該模塊,但仍得到相同的錯誤。 –

0

你好,我將要給你的想法或使用: https://www.npmjs.com/package/angular2-infinite-scroll

<div (window:scroll)="onScroll($event)"> 
     <li *ngFor="let item of data">{{data}}</li> 
     ... 
    </div> 

,你可以叫你上滾動事件的服務和concate數據到數據陣列:

let data = []; 
    let pageNumber =1; 


    onScroll(event) { 

     myservice.getdata(pageNumber).subscribe(elements 
     => { 
      this.data.concat(elements); 
      pageNumber++ 
     }) 

    } 
+0

使用(窗口:滾動)解決方案時,我滾動窗口它每次我不想要這個時調用Onscroll方法。只想滾動特定的div。 –

1

我有同樣的問題,如果您使用ngx-infinite-scroll,請按照https://github.com/orizens/ngx-infinite-scroll中的步驟,將模塊導入您的app.module.ts

import { InfiniteScrollModule } from 'ngx-infinite-scroll'; 

然後在@NgModule:

@NgModule({ 
imports:[ BrowserModule, InfiniteScrollModule ], 
declarations: [ AppComponent, ], 
bootstrap: [ AppComponent ] 
}) 

就像我的情況下,如果你有一個以上的模塊工作,並且需要特定的模塊中使用,該模塊中導入。