Почему использование Angular Moment возвращает весь январь в ng-repeat?

Я использую

<div ng-repeat="usage in previousUsage" 
     <p>{{usage.Month | amDateFormat : 'MMMM' }}</p>
</div>

использование. Данные за месяц - числа 1-12. Данные возвращают январь.

2 ответа

amDateFormat ожидает получить дату в качестве значения. Не обязательно отметка времени, но любой объект, который moment.js сможет создать moment объект от (Date объект, строка, метка времени в миллисекундах и т. д.).

Когда вы используете число от 1 до 12 в качестве ввода, момент увидит его (как @pavel-horal) как количество миллисекунд, прошедших с начала 1970-01-01. Затем вы используете фильтр для отображения месяца, и вы получите январь.

Спасибо, парни,

я только что сделал

 <div ng-repeat="usage in previousUsage" 
      <p>{{dateFilter(usage.Month) | amDateFormat : 'MMMM' }}</p>
 </div>

 $scope.dateFilter = function(month) {
      var objDate = new Date(month);
      return objDate;
 };

Что-то в этом роде - оно вернулось в январе, феврале, марте и т. Д.

Другие вопросы по тегам