如何AngularJS日期从json
我是一个新手在angularjs我试图将一个日期属性绑定到输入(文本),但我不知道如何格式化日期。
我的json对象控制器:
$scope.datasource = {"prop1":"string data", "myDateProp":"/Date(1325376000000)/"}
我的看法:
<input type="text" ng-model="datasource.myDateProp" />
因此,我在我的文本框中得到了字符串“/ Date(1325376000000)/”。
我怎样才能格式化这个日期?
你需要做的是看看http://docs.angularjs.org/api/ng.filter:date这是一个默认情况下可用的角度过滤器。
看来你正在通过日期附加的东西。 请参阅此处的场景。 (/日期( *)/)。 除了*中的内容外,其他所有内容都不需要解析日期,并且默认的角度过滤器不会解析它。 从模型中去除这些额外的东西,或者,您可以编写自己的过滤器以在输入时去除它们。
编辑:
看看http://docs.angularjs.org/api/ng.directive:ngModel.NgModelController(以及在那里定义的例子!)。 如果你打算在多个地方重复使用它,我建议你用ngModelController描述的方法来完成它。 创建一个新的指令并在ngModel上实现$ render和$ setViewValue。
如果你只是想在一个地方做到这一点,那么替代方案就是为输入定义一个新模型。 就像是
$scope.dateModel = "";
并使用它
<input type="text" ng-model="dateModel" ng-change="onDateChange()"/>
在您的控制器中,您将不得不执行如下操作:
$scope.$watch("datasource.myDateProp",function(newValue){
if(newValue){
convert(newValue);
}
});
function convert(val){
//convert the value and assign it to $scope.dateModel;
}
$scope.onDateChange = function(){
// convert dateModel back to the original format and store in datasource.myDateProp.
}
链接地址: http://www.djcxy.com/p/11261.html