ng-repeat中的Date.now()

时间:2015-01-29 18:02:47

标签: angularjs angularjs-ng-repeat

<div ng-repeat="case in cases">
{{(((Date.now()/1000) - case.date_case_modified)/(60*60*24))}}
</div>

我正在访问一个api,它以strtotime格式向我扔了一个日期,我正在尝试将其放在前端,并计算自那天以来的时间。

1 个答案:

答案 0 :(得分:1)

虽然您可以在AngularJS中的花括号之间使用表达式,但我相信它只能处理简单和基本的东西。您可能想要做的是从表达式中调用$ scope中的方法。

例如 - 您可以这样做:

<li ng-repeat="item in items">{{ item.name }} that was {{ timeDiffInMinutes(item.date) }} minutes ago.</li>

控制器的外观如下:

app.controller('mycontroller', [ '$scope', function($scope) {
    $scope.items =  [ 
        { name: 'event 1', date: 1422561182654 },
        { name: 'event 2', date: 1422561184654 },
        { name: 'event 3', date: 1422561186654 }];

    $scope.timeDiffInMinutes = function(otherDate) {
        var now = Date.now();
        var difference = otherDate - now;        
        var differenceInMinutes = difference / 60;
        return differenceInMinutes; 
    };
}]);

在这里你可以看到我的小提琴:http://jsfiddle.net/yvuhgaxb/1/

确实如此 - 由克里斯蒂安评论 - 有很多不错的JavaScript库可以很好地解决这些问题,例如“一分钟前”和#39;等等。