Date 如何从json中选择AngularJS日期

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)

我是angularjs的新手,我试图将日期属性绑定到输入(文本),但我不知道如何格式化日期

我的json对象控制器:

$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.
}