使用ng-repeat增加日期

时间:2016-04-19 14:37:04

标签: angularjs ng-repeat

我的控制器中有一个变量$ scope.date。在视图中,我对几个项目进行了重复。每个项目的持续时间以分钟为单位。我将如何逐步增加每次重复的时间并显示它?

2 个答案:

答案 0 :(得分:1)

在控制器上添加一个计算日期的功能,包括持续时间。工作代码段:



var app = angular.module('myapp', []);
app.controller('myctrl', function($scope) {
  $scope.someDate = new Date();
  $scope.durations = [1, 2, 5, 6, 8];

  $scope.calculateIncrementalDuration = function(index) {

    var sum = 0;
    for (var i = 0; i <= index; i++) {
      sum += $scope.durations[i];
    }
    return sum;
  }
  $scope.calculateEndDate = function(startDate, index) {
    return new Date(startDate.getTime() + $scope.calculateIncrementalDuration(index) * 60000);
  }
});
&#13;
.delay {
  margin-top: 10px;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myapp" ng-controller="myctrl">
  Start time: {{someDate.toUTCString()}}
  <div class="delay" ng-repeat="duration in durations">Duration in minutes: {{calculateIncrementalDuration($index)}}
    <div>End time: {{calculateEndDate(someDate, $index).toUTCString()}}</div>
  </div>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我没有评论的声誉,所以请不要生我的气,那些对非答案生气的人作为答案,但我强烈建议调查{{3}对于像这样的事情。