Angular 9 * ngFor循环跳过数组中的某些对象

问题描述

我试图在每个表行的四列中显示对象数组的内容:

现在,这仅显示索引以帮助我了解发生了什么。

<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)
})

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...