2017-11-11 34 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 ] 
}) 

就像我的情况下,如果你有一个以上的模块工作,并且需要特定的模块中使用,该模块中导入。

相关问题