<input type="text" ng-model="user.User.DateOfBirth">
在我看来。user.User.DateOfBirth
目前是YYYYMMDD
格式,但我希望它mm/dd/yyyy
在视图中显示为格式。是否可以仅将其转换为显示?
问问题
14062 次
2 回答
4
这也可以帮助你
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;
};
});
于 2013-11-15T15:51:51.680 回答
1
为了以正确的格式输出数据,请尝试过滤器(在您的情况下,日期过滤器: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
});
尽管强制用户使用某种输入格式可能会更好,要么通过某种模式匹配(因此验证),要么通过某种特殊的日期输入/小部件。
于 2013-11-15T15:21:00.803 回答