我想通过同时打印i和i + 1元素来打印列表的内容。这是一个如何使用Java或任何后端编程语言实现的虚拟示例:
List list = new ArrayList<>();
for(int i = 0; i<list.size() - 1; i++)
System.out.println(list[i] + " " + list[i+1]);
我想要的是使用ngFor指令在Angular中实现相同的行为。我尝试使用索引,但由于某种原因,直到长度-1个元素,我才能让ngFor进行迭代。
编辑:要对该问题进行更具体的说明:
<div class="row" *ngFor="let item of items; let index=index">
<div class="col">
{{items[index]}}
</div>
<div class="col">
{{items[index+1]}}
</div>
</div>
答案 0 :(得分:2)
好吧,如果您去有关*ngFor
的文档或任何其他博客,您可能会在这样的分号后遇到index
:
<li *ngFor="let item of items; index as i;">{{item}} - {{ items[i+1] }}</li>
答案 1 :(得分:0)
是的,您可以使用odd
局部变量:
<ng-container *ngFor="let item of items; let i = index; let odd = odd">
<li *ngIf="odd">{{items[i]}} - {{items[i+1]}}</li>
</ng-container>
但是使用even
更安全(因为如果数组的长度是偶数,它不会破坏应用程序):
<ng-container *ngFor="let item of items; let i = index; let even = even">
<li *ngIf="even">{{items[i-1]}} - {{items[i]}}</li>
</ng-container>