【问题标题】:Angular 9 *ngFor loop skipping some objects in an arrayAngular 9 *ngFor 循环跳过数组中的一些对象
【发布时间】:2020-12-01 14:58:30
【问题描述】:

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

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

<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

我的问题是,为什么它会跳过一些对象?

【问题讨论】:

    标签: angular angular-directive ngfor angular9


    【解决方案1】:

    因为您的逻辑(使用模 === 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)
    })

    【讨论】:

    • 这不是答案,我猜 OP 正在寻求每 4 个元素添加一个 div
    • 来自 OP 的问题“我的问题是,为什么它会跳过一些对象?”...
    • 谢谢。这有助于我弄清楚。
    猜你喜欢
    • 2020-12-19
    • 2021-06-04
    • 2020-08-25
    • 2016-07-10
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 2018-07-02
    • 2018-10-14
    相关资源
    最近更新 更多