我的控制器中有一个变量$ scope.date。在视图中,我对几个项目进行了重复。每个项目的持续时间以分钟为单位。我将如何逐步增加每次重复的时间并显示它?
答案 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;
答案 1 :(得分:0)
我没有评论的声誉,所以请不要生我的气,那些对非答案生气的人作为答案,但我强烈建议调查{{3}对于像这样的事情。