Date 如何从json中选择AngularJS日期
我是angularjs的新手,我试图将日期属性绑定到输入(文本),但我不知道如何格式化日期 我的json对象控制器:Date 如何从json中选择AngularJS日期,date,formatting,angularjs,Date,Formatting,Angularjs,我是angularjs的新手,我试图将日期属性绑定到输入(文本),但我不知道如何格式化日期 我的json对象控制器: $scope.datasource = {"prop1":"string data", "myDateProp":"\/Date(1325376000000)\/"} 我的看法是: <input type="text" ng-model="datasource.myDateProp" /> 结果,我在文本框中得到字符串“/Date(1325376000000)
$scope.datasource = {"prop1":"string data", "myDateProp":"\/Date(1325376000000)\/"}
我的看法是:
<input type="text" ng-model="datasource.myDateProp" />
结果,我在文本框中得到字符串“/Date(1325376000000)/”
如何格式化此日期?
您需要做的是查看默认情况下在angular中可用的过滤器
看起来你在传递额外的日期信息。请参见此处的场景。(/Date(*)/)。除了*中的内容外,其他所有内容都不是解析日期所必需的,默认的角度过滤器将无法解析日期。或者从模型中去除这些额外的东西,或者,您可以编写自己的过滤器,在输入时去除它们。
编辑:
请看一看(以及其中定义的示例!)。如果您打算在多个地方重用它,我建议您使用ngModelController描述的方法。创建一个新指令,并在ngModel上实现$render和$setViewValue
如果您只想在一个地方执行此操作,那么另一种方法是为输入定义一个新模型。差不多
$scope.dateModel = "";
并使用它
<input type="text" ng-model="dateModel" ng-change="onDateChange()"/>
ng model=“datasource.myDateProp”定义了一个双向绑定,我不想丢失该绑定。按照这个例子去做,你就输了@弗拉维奥奥利维拉看看改变后的答案。
$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.
}