如何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

上一篇: How to AngularJS Date from json

下一篇: What kind of compression algorithm is this?