【问题标题】:Converting JSON format date to angular date filter将 JSON 格式日期转换为角度日期过滤器
【发布时间】:2014-03-05 23:56:47
【问题描述】:

您好,我有一个 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 但它不会也仍然显示 jason 格式日期。你能告诉我如何解决它。我怀疑没有调用 ng-init

【问题讨论】:

    标签: javascript json angularjs angularjs-ng-repeat


    【解决方案1】:

    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> 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-17
      相关资源
      最近更新 更多