Angular 5中的无限滚动,由httpClient请求填充

时间:2018-03-14 17:31:08

标签: json angular object httprequest infinite-scroll

我想在Angular 5中实现一个由非常大的json填充的无限滚动。想法是仅显示5个第一个条目,然后,当用户滚动时,它会显示另外5个。

现在,我看一下:https://github.com/orizens/ngx-infinite-scroll但是用于视图的数组只接受字符串。

我看了一个例子:Plunker Example of ngx-infinite-scroll以及导致问题的原因是什么:

  addItems(startIndex, endIndex, _method) {
    for (let i = 0; i < this.sum; ++i) {
      this.array[_method]([i, ' ', this.generateWord()].join(''));
    }
  } 

where.generateWord()只生成随机字符串而_method是push或unshift。

我怎样才能将一个对象的部分推入或连接到这里,这样我仍然可以在我的html模板中使用我的* ngFor?

是否有接受http请求对象的插件或如何使ngx-infinite-scroll工作?

由于

1 个答案:

答案 0 :(得分:0)

好的,我没有遵循&#34;最佳做法&#34;对于代码布局而言,并没有展示如何从服务器实际获取数据以填充它...但我确实回答了如何使用对象而不是字符串来显示的基本问题。

结果在这里:https://stackblitz.com/edit/angular-a5ew8f

我刚用硬编码数组中的条目替换了硬编码字符串:

  addItems(startIndex, endIndex, _method) {
    let movieIndex=0
    for (let i = 0; i < this.sum; ++i) {
      movieIndex++;
      if (movieIndex >= this.movies.length) movieIndex=0;
      this.array[_method](this.movies[movieIndex]);
    }
  }

真正的应用程序中,您可能希望转到服务器以获取&#39; n&#39; (this.sum)每次调用addItems方法时都会有更多项目。