<input type="text" ng-model="user.User.DateOfBirth">
на мой взгляд. user.User.DateOfBirth
в настоящее время находится в YYYYMMDD
формате, но я хочу, чтобы он отображал формат mm/dd/yyyy
на вид. Можно ли преобразовать это только для отображения?Как я могу форматировать данные в представлении в AngularJS?
ответ
Для вывода данных в правильных фильтрах формата TRY (в вашем случае фильтра даты: http://docs.angularjs.org/api/ng.filter:date)
Ну, для входов, что это еще один случай. Я думаю, вы всегда можете связать этот вход другого имущества, следить за тем, и разобрать его самостоятельно, а затем назначить его на реальной модели ...
Некоторые более глубокое, вы могли бы попробовать что-то вроде этого:
HTML:
<input type="text" ng-model="myDateInput">
в контроллере JS используют следующее:
$scope.$watch('myDateInput', function (newValue) {
$scope.user.User.DateOfBirth = $filter('date')(newValue, 'yyyy-MM-dd'); // Or whatever format your real model should use
});
$scope.$watch('user.User.DateOfBirth', function (newValue) {
$scope.myDateInput = $filter('date')(newValue, 'yyyy-MM-dd'); // Or whatever format your input should use
});
вероятно, было бы лучше, если бы заставить пользователя использовать определенный формат ввода, либо некоторая сопоставление шаблонов (и, следовательно, валидация) или какой-то особый ввод/виджет даты.
My' user.User.DateOfBirth' isn 't действительный объект даты JS – Shamoon
Он не должен быть объектом, он может быть строкой: взято из документов с фильтрами угловой даты: 'Дата для форматирования как объект Date, миллисекунды (строка или число) или различные ISO 8601 datetime string formats' –
Я получаю: 'Expression 'user.User.DateOfBirth | date: 'medium' 'не является назначаемым. Элемент: ' – Shamoon
Это также может помочь вам
http://jsfiddle.net/mikeeconroy/Hu9m2/1/
.filter('myFormatDateFilter',function(){
return function(input){
if(angular.isDefined(input)){
if(input.length >= 8){
input = input.slice(0,8);
input = input.slice(4,6) + '/' + input.slice(6,8) + '/' + input.slice(0,4);
}
}
return input;
};
});
Используйте пользовательский фильтр. '{{user.User.DateOfBirth | date [: format]}} ' –
хорошо подробный метод здесь http://stackoverflow.com/questions/14474555/how-to-format-a-date-using-ng-model – charlietfl