ngClass 布尔表达式获取模板解析错误

ngClass boolean expression gets a template parsing error

我想检查 时刻 日期是否是当天。这不起作用,我不确定为什么会出现此错误。我认为错误是因为 Angular.

<div class="timeline-date"
      *ngFor="let date of dates"
      [ngClass]="{'current-date': date.isSame(new Date(), 'day') }">
  {{date.format("MMM Do")}}
</div>

错误:

Uncaught Error: Template parse errors: Parser Error: Missing expected ) at column 34 in [{'current-date': date.isSame(new Date(), 'day') }]

可能是isSame方法的原因。 声明一个布尔变量,这将是此方法的结果:

isSame: boolean;
// ...
isDateSame = date.isSame(new Date(), 'day');

并使用 ngClass 中的布尔值:

<div class="timeline-date"
    *ngFor="let date of dates"
    [ngClass]="current-date: isSame">
  {{date.format("MMM Do")}}
</div>

编辑:如何正确使用 moment.js 和 angular:

  1. 安装 npm

    npm install --save moment

  2. .ts文件中导入:

    import * as moment from 'moment';

  3. 这样使用:

    let myMoment: moment.Moment = moment("someDate");