将JSON格式日期转换为角度日期过滤器

时间:2014-03-05 23:56:48

标签: javascript json angularjs angularjs-ng-repeat

您好我有一个JSON日期格式数据,我需要将其转换为角度日期和显示。

JSON日期格式为

  var close_date="\/Date(1151470800000-0500)\/"

在我的html代码中,我按负载调用函数..

//i have other fields in form that i am not showing for sake of simplicity. 
<form ng-repeat p in list>
       <div>
          <span ng-model="p.close_date" ng-init="fn(p.close_date)"> {{p.close_date}}</span>
       </div> 
</form> 

我的婴儿车是......

formsApp.controller('pCtrl', function ($scope, pRepository, $location) {
    $scope.lisr = pRepository.query();

    $scope.fn = function (close_date) {
        return eval("new " + close_date.replace(/\\|\//g, ''))
    }
});

当我运行代码时,它应该显示2006年6月27日晚上11:59:59 但它并没有,仍然显示杰森格式的日期。你能告诉我如何修理它吗?我怀疑ng-init没有被调用

1 个答案:

答案 0 :(得分:0)

ngInit将运行您的表达式,但您不会在任何位置分配值。此外,您不需要使用ng-model,除非它是“双向”绑定,只需使用模板。

实现您想要的几个选项。

不要使用ngInit,只需插入函数调用

<form ng-repeat p in list>
       <div>
          <span>{{fn(p.close_date)}}</span>
       </div> 
</form> 

在ngInit中分配值

<form ng-repeat p in list>
       <div>
          <span ng-init="myDate = fn(p.close_date)">{{myDate}}</span>
       </div> 
</form>