我正在开发一个简单的应用程序,我想在其中显示表中的一些事件。显示数据可以正常工作,除了当我尝试格式化日期时,它不再显示。
我尝试从Pipe
导入PipeTransform
和"@angular/core"
,并从DatePipe
导入"@angular/common"
,但这并没有改变。任何格式,无论是"fullDate"
这样的预定义格式,还是"dd.MM.y"
这样的自定义格式,都不会使日期显示在表中。
这些是表主体中的td标记,如果我这样显示日期而不格式化,则显示得很好。
<tr *ngFor="let event of eventList" style="cursor:pointer;">
<td (click)="onSelect(event.id)" style="padding-bottom: 1.3em">{{event.name}}</td>
<td (click)="onSelect(event.id)">{{event.city}}</td>
<td (click)="onSelect(event.id)">{{event.startTime}}</td>
<td (click)="onSelect(event.id)">
<mat-icon *ngIf="event.isConfirmed" style="padding-left: 23px">done</mat-icon>
<mat-icon *ngIf="!event.isConfirmed" style="padding-left: 23px">clear</mat-icon>
</td>
</tr>
这是我尝试格式化日期的方式:
<td (click)="onSelect(event.id)">{{ event.startTime | date : "dd.MM.y" }}</td>
我对Angular还是很陌生,所以请随时指出错误。 我是否缺少导入语句,还是其他td标签的样式弄乱了日期?任何帮助深表感谢!
答案 0 :(得分:0)
请确保已将CommonModule
导入到与使用日期管道的component.html相同的module.ts中。
sample.module.ts:
import { CommonModule } from '@angular/common';
.
.
@NgModule({
imports: [
CommonModule,
],
.
.
})
我使用与您使用的日期完全相同的日期为您制作了demo。
答案 1 :(得分:0)
我发现了问题,我正在使用ASP.NET Boilerplate框架,显然本地化存在问题。当我将语言设置为英语(默认)时,格式化日期显示得很好。我出于测试目的将其设置为荷兰语,并且在尝试格式化时发现控制台错误Missing locale data for the locale "nl".' for pipe 'DatePipe'
。
无论如何,感谢所有帮助!