2017-05-18 24 views
1

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

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


注非离子developpers <ion-row><ion-col>是很像一个<tr>/<td>结构...



注意:如果我只是删除ngIf我的代码实际上是加工。

+0

它没有括号的工作吗? – Joe

+0

'ngIf'适用于整个块,而不仅仅是您的代码行。最后ngIf在这里没有意义。 displayCal的内容是什么样的? –

+0

用'* ngIf =“(index%7)== 0”'尝试。请让我知道这对你有没有用。 – SrAxi

回答

0

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> 

但是日期和时间是一个棘手的问题。您应该仔细考虑您的数据模型。

0

我不想做一个[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> 

非常感谢您的帮助! :)

+0

干杯:)一个好的数据模型将为您节省大量的时间在未来的发展 –