Angular - 将日期管道与 ngModel 一起使用

Angular - using a date pipe with ngModel

我的控制台出现以下错误 - “错误:InvalidPipeArgument:管道 'DatePipe' 的 'Unable to convert "[object Object]" into a date'”。

我有一个日历输入,它应该允许用户 select 一个日期,然后以特定格式 'dd/MM/yyyy' 传递该日期。我希望 selected 的日期在他们 selected 日期后显示在日历输入中。

我意识到如果那里有管道,我就无法在 [ngModel] 上进行双向绑定,所以我正在使用 (ngModelChange)。如果我删除了#createdByCutOffDate="ngModel",那么错误就被删除了,但是我无法在日历输入中看到 selected 日期。

我还尝试了采用日期类型或字符串的 updateCreatedByCutOffDate() 方法。

this.createdByCutOffDate 的格式如下 - 'Thu Feb 17 2022 00:00:00 GMT+0000 (Greenwich Mean Time)'

component.html


<input type="date"
       id="createdByCutOffDate"
       [ngModel]="createdByCutOffDate | date:'dd/MM/yyyy'"
       #createdByCutOffDate="ngModel"
       (ngModelChange)="updateCreatedByCutOffDate($event)" />

component.ts


createdByCutOffDate: Date;

updateCreatedByCutOffDate(date: string) {
    this.createdByCutOffDate = new Date(date);

    }

createdByCutOffDate 是一个 Date 对象,它有自己的方法和属性。
因此,要解决您的问题,请使用 "createdByCutOffDate.date | date:'dd/MM/yyyy'" 而不是 "createdByCutOffDate | date:'dd/MM/yyyy'"