2014-03-05 174 views
0

嗨我有一個JSON日期格式數據,我需要將其轉換爲角度日期和顯示。將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> 

我ctroller是..

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 PM 但它並沒有仍然顯示傑森格式日期。你能讓我知道如何解決它。我懷疑ng-init沒有被調用

回答

0

ngInit會運行你的表達式,但是你不會在任何地方賦值。除非是「雙向」綁定,否則您不需要使用ng-model,只需使用模板。

有幾個選項可以實現你想要的。

不要使用ngInit,只是interploate函數調用

<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> 
分配一個值