我想在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工作?
由于
答案 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方法时都会有更多项目。