Modulo returns a 模板解析错误

Modulo returns a Template parse errors

我正在尝试为我的 ionic 应用程序编写一个非常简单的日历显示程序(它基本上只是 Angular)。我将每个日期的信息存储在数组 displayedCal 中。
当我尝试使用 *ngIf="(i%7)==0" 每周创建一个新行时它会出错:这给了我一个解析错误。这样做的正确方法是什么?

  <template ngFor let-d [ngForOf]="displayedCal" let-i="index">
    <ion-row *ngIf="(i%7)==0">
      <ion-col (click)="...">{{d.displayedDate}}</ion-col>
    </ion-row *ngIf="(i%7)==0">
  </template>


非离子显影剂注意事项 <ion-row><ion-col> 非常类似于 <tr>/<td> 结构 ...



N.B.: 如果我只是删除 ngIf 我的代码实际上是有效的。

ngIf 适用于整个块,而不仅仅是您的代码行。但即使这可行,它对您的目的仍然没有意义。

您可以将 displayedCal 数组更改为以下形式的多维数组:displayedCal[week][day] 然后进行嵌套循环:

<template *ngFor="let week of displayedCal">
  <ion-row *ngFor"let day of week">
    <ion-col (click)="...">{{day.whatever}}</ion-col>
  </ion-row>
</template>

然而日期和时间是一个微妙的问题。您应该仔细考虑您的数据模型。

我不想做 [week][day] 结构,因为它会破坏我的其他功能工作流程。无论如何,因为它没有像我想要的那样工作,所以我最终采用了你的模式,这就是我想出的:

  <template ngFor let-week [ngForOf]="displayedCal" let-i="index">
    <ion-row>
      <ion-col *ngFor="let day of week" (click)="...">{{day.displayedDate}}</ion-col>
    </ion-row>
  </template>

非常感谢您的帮助! :)