Логическое выражение ngClass получает ошибку разбора шаблона - PullRequest
0 голосов
/ 09 января 2019

Я хочу проверить, является ли момент датой текущего дня. Это не работает, и я не уверен, почему он получает эту ошибку. Я думаю ошибка из-за 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: Ошибки синтаксического анализа шаблона: Ошибка Parser: Ожидается отсутствие ) в столбце 34 в [{'current-date': date.isSame (new Date (), 'day')}]

1 Ответ

0 голосов
/ 09 января 2019

Это может быть причиной 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 с угловым:

  1. Установите его с помощью npm

    npm install --save moment

  2. Импортируйте его в файл .ts:

    import * as moment from 'moment';

  3. Используйте это так:

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

...