Angular4 - 通过点击显示接下来的5个项目

问题描述:

我有一个阵列充满了电视节目。我最近观看的电视节目:Angular4 - 通过点击显示接下来的5个项目

tvShows = ['Firefly', 'Fargo', 'Game of Thrones', 'Breaking Bad', 'The Sopranos', 'House of Cards', '* Break']; 

正如您所看到的,该数组包含超过5个项目。所以,我这样做是为了只显示5的电视节目:

<div class="tvShow_row" *ngFor="let tvShowName of (tvShows | slice:tvShows.length - 5)"> 
    <span class="tvShow_name">{{tvShowName}}</span> 
</div> 

现在,我想有一个简单的按钮与我目前的5个项目一起显示在阵列中的下一个5个项目。显然,列表会根据数组中的项目变长,但原则是显示下一个5.问题是,我不知道如何从我的数组中加载下一个5项。另外,如果我没有5(例如数组中有7个项目),那么我仍然想显示数组的其余部分。我试着通过打印数组来显示更多项目,但是它只显示了前5个项目,这是有道理的,我猜。有人知道如何解决这个问题吗?

+0

有另一个数组保存要显示的元素的副本,点击添加下一组元素。此外,利用'trackby'属性 –

+0

而不是硬编码片段的值递增值,每次点击后长度为 –

也许是这样的:

*ngFor="let item of items | slice:0:[max]" 

toggle(): void { 
    this.max = this.max + 5; 
} 

所以设置max将显示在阵列中更多的项目。没有复制数组和其他东西。

+0

简单而漂亮!我做了一件额外的事情,通过将'max'属性设置为5来显示前5项。除此之外,这正是我正在寻找的东西。十分感谢。 :) – muse10

+0

叶我没有显示初始值:)很高兴我能帮上忙。 – Chrillewoodz

+0

如果满意,请不要忘记接受答案。 @ muse10 – Chrillewoodz