如何从角度4的无限滚动中获取服务器的json数据?

时间:2017-11-11 09:50:52

标签: angular

我是角度4中的新手。我想在角度中实现无限滚动,想要调用http来获取前10个项目后滚动div想要调用http请求获取下10个项目并追加到第一个数组。 你能指导我怎么做吗?

3 个答案:

答案 0 :(得分: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 ]
})

与我的情况类似,如果您使用多个模块并且想要在特定模块中使用,请将其导入该模块。

答案 1 :(得分:0)

您可以使用此库https://www.npmjs.com/package/ngx-infinite-scroll

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

然后实现onScroll(),您需要在其中加载下10条记录并将它们附加到现有数组。

答案 2 :(得分:0)

你好,我会给你一个想法或使用: https://www.npmjs.com/package/angular2-infinite-scroll

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

您可以在滚动事件上调用服务并将数据连接到数据数组:

   let data = [];
   let pageNumber =1;


    onScroll(event) {

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

     }
相关问题