2016-12-12 5 views
0

У меня есть объект JSON, который отправляется с сервера:Как отображать дату в дате ввода типа в угловых js?

{ 
    "make": "BA-101", 
    "no_seat": "70", 
    "company": "Ternote", 
    "country": "British's", 
    "destination": "Germany", 
    "date":"2012-04-02" 
} 

Даты ключом должен быть показан на экране в поле ввода, как Date.I пробовал разные форматы для отображения даты, однако она дала ошибку Прогнозную 15-01-2016 - дата. Угловое объяснение заключалось в использовании модальности даты, но данные поступают с сервера в формате «мм/дд/гггг». как я могу показать его на экране? вот мой угловой код для печати других полей.

<tr ng-repeat="planes in myPlane"> 
    <td><button class="btn btn-danger btn-remove" type="button"><i class="glyphicon glyphicon-trash gs"></i></button></td> 
    <td><input type="text" class="form-control" ng-model="planes.make"></td> 
    <td><input type="text" class="form-control" ng-model="planes.no_seat"></td> 
    <td><input type="text" class="form-control" ng-model="planes.company"></td> 
    <td><input type="text" class="form-control" ng-model="planes.country"> </td> 
    <td><input type="text" class="form-control" ng-model="planes.destination"></td> 
    <td><input type="date" class="form-control" ng-model="planes.date"></td> 
</tr> 
+0

Может быть, вы могли бы попробовать преобразовать значение в фактической 'date' объекта, вместо того чтобы работать с объектом' String'. –

+0

Убедитесь, что вы конвертируете строку из своего JSON в формат даты. Ожидаемая ошибка обычно означает, что текущий тип данных, который вы предоставляете, неверен. Мог бы попробовать использовать '$ scope.planes.date = новая дата (дата-ключ),' –

ответ

1

Вы должны преобразовать строку даты объекта (planes.date = new Date(dateString)) и привязать его к нг-модели.

Ex:

<input type="date" date-format class="form-control" ng-model="planes.date"> 

.directive('dateFormat', function(){ 
    return { 
     scope : { 
      ngModel : '=' 
     }, 
     link: function (scope) { 
      if (scope.ngModel) { 
      scope.ngModel = new Date(scope.ngModel); 
      } 
     } 
    } 
}); 
+0

.directive (......) печатается на экране –

+0

что? Вам нужно использовать .directive внутри JS-файла. Не HTML. здесь docs.:https://docs.angularjs.org/guide/directive – Ved

Смежные вопросы