函数如何使用ng-repeat调用所有元素?

时间:2013-12-30 09:33:52

标签: function angularjs ng-repeat

我想调用一个包含data-ng-repeat所有元素的函数。我怎样才能做到这一点 ?专家请帮帮我。

代码:

<div data-ng-repeat="message in global.user.sentMessages><div >{{message.created}}</div> </div>

功能:

$scope.showDate= function(message){ var cast_time = new Date(message.created);                         
$scope.time=cast_time;}

我想显示showDate函数中的有组织日期。我想在message.created中显示这个日期,但每次ng-repeat都会调用showDate函数。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我认为,最好的方法似乎是使用过滤器:

<div data-ng-repeat="message in global.user.sentMessages><div >{{message.created | showDate }}</div> </div>

您可以在应用程序模块中定义过滤器:

angular.module('myApp', []).filter('showDate', function() {
    return function(myDate) {
      // return what you want to display
      var cast_time = new Date(message.created);
      return cast_time.getDate();
    };
});

您可以使用预定义的角度滤镜:

angular.module('myApp', []).filter('showDate', ['$filter', function($filter) {
    return function(myDate) {
        return $filter('date')(myDate, 'dd-MM-yyyy');
    };
}]);

当然,您可以直接使用角度日期过滤器而无需创建自己的过滤器:

<div data-ng-repeat="message in global.user.sentMessages><div >{{message.created | date:'dd-MM-yyyy' }}</div> </div>

请参阅文档:http://docs.angularjs.org/api/ng.filter:date