使用 ng-repeat 增量添加日期
Incrementally add date with ng-repeat
我的控制器中有一个变量 $scope.date。在视图中,我对几个项目进行了 ng-repeat。每个项目都有以分钟为单位的持续时间。我将如何为每次重复增加时间并显示它?
在控制器上添加一个计算日期(包括持续时间)的函数。工作代码片段:
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);
}
});
.delay {
margin-top: 10px;
}
<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>
我没有发表评论的声誉,所以请不要生我的气,那些对没有回答的人生气,但我强烈建议调查 moment.js像这样的事情。
我的控制器中有一个变量 $scope.date。在视图中,我对几个项目进行了 ng-repeat。每个项目都有以分钟为单位的持续时间。我将如何为每次重复增加时间并显示它?
在控制器上添加一个计算日期(包括持续时间)的函数。工作代码片段:
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);
}
});
.delay {
margin-top: 10px;
}
<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>
我没有发表评论的声誉,所以请不要生我的气,那些对没有回答的人生气,但我强烈建议调查 moment.js像这样的事情。