Angular 9 *ngFor 循环跳过数组中的某些对象
Angular 9 *ngFor loop skipping some objects in an array
我试图在每 table 行的四列中显示对象数组的内容:
现在这只是显示索引以帮助我了解发生了什么。
<tr *ngFor="let object of myObjects; let i = index">
<div *ngIf="i % 4 == 0">
<td *ngIf="i % 1 == 0">{{ i }}</td>
<td *ngIf="i % 2 == 0">{{ i+1 }}</td>
<td *ngIf="i % 3 == 0">{{ i+2 }}</td>
<td *ngIf="i % 4 == 0">{{ i+3 }</td>
</div>
</tr>
当我查看页面时,它没有显示所有对象。我看到这样的东西:
0 1 2 3
4 5 7
8 9 11
我的问题是,为什么它会跳过一些对象?
因为您的逻辑(使用模 === 0)告诉它跳过它们。
这是您的逻辑,但控制台会记录结果。
let foo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
foo.forEach(item => { console.log("index is ", item, "and its % 4 === 0", item % 4 === 0, "item % 1 === 0", item % 1 === 0, "item % 2 === 0", item % 2 ===0, "item % 3 === 0", item % 3 === 0, "item % 4 === 0 (again)", item % 4 === 0)
})
我试图在每 table 行的四列中显示对象数组的内容:
现在这只是显示索引以帮助我了解发生了什么。
<tr *ngFor="let object of myObjects; let i = index">
<div *ngIf="i % 4 == 0">
<td *ngIf="i % 1 == 0">{{ i }}</td>
<td *ngIf="i % 2 == 0">{{ i+1 }}</td>
<td *ngIf="i % 3 == 0">{{ i+2 }}</td>
<td *ngIf="i % 4 == 0">{{ i+3 }</td>
</div>
</tr>
当我查看页面时,它没有显示所有对象。我看到这样的东西:
0 1 2 3
4 5 7
8 9 11
我的问题是,为什么它会跳过一些对象?
因为您的逻辑(使用模 === 0)告诉它跳过它们。
这是您的逻辑,但控制台会记录结果。
let foo = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
foo.forEach(item => { console.log("index is ", item, "and its % 4 === 0", item % 4 === 0, "item % 1 === 0", item % 1 === 0, "item % 2 === 0", item % 2 ===0, "item % 3 === 0", item % 3 === 0, "item % 4 === 0 (again)", item % 4 === 0)
})