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

时间:2019-01-09 08:53:34

标签: angular typescript momentjs angular7

我要检查时刻日期是否是当前日期。这不起作用,我不确定为什么会出现此错误。我认为该错误是由于Angular造成的。

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

错误:

  

未捕获的错误:模板解析错误:解析器错误:缺少预期   )在[{''current-date':date.isSame(new Date(),'day')}]

1 个答案:

答案 0 :(得分:0)

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

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与尖角:

  1. 通过npm

    安装

    npm install --save moment

  2. 将其导入.ts文件中

    import * as moment from 'moment';

  3. 像这样使用它:

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