<tr data-ng-repeat="timesheet in timesheets">
<td>{{timesheet.startDate | date:'dd/MM'}}</td>
<td>{{timesheet.startTime | date:'HH:mm'}}</td>
<td>{{timesheet.endTime | date:'HH:mm'}}</td>
<td>{{timesheet.breakTime | date:'HH:mm'}}</td>
<td>{{timesheet.totalTime | date:'HH:mm'}}</td>
<td >{{timesheet.note}}</td>
</tr>
我希望使用所有timesheet.totalTime,timesheet.totalTime的总和创建一个新变量,所以我可以使用getHours和getMinutes
所以我的问题是如何创建一个新的int / number var,得到总时间的总和 例如..
<td>{{timesheet.totalTime | date:'HH:mm'}}</td> //= 09:30
<td>{{timesheet.totalTime | date:'HH:mm'}}</td> //= 10.45
<td>{{timesheet.totalTime | date:'HH:mm'}}</td> //= 01:15
<td>{{timesheet.totalTime | date:'HH:mm'}}</td> //= 10.00
<td>{{timesheet.totalTime | date:'HH:mm'}}</td> //= 10.00
<td>{{timesheet.totalTimeSum}}</td> //= 41.30 ??
我如何在控制器端进行此操作
答案 0 :(得分:0)
您可以创建一个使用reduce
汇总timesheets
的控制器方法:
$scope.timesheets = [
{
totalTime: 1
},
{
totalTime: 3
},
{
totalTime: 2
},
{
totalTime: 10
}
];
$scope.totalTimeSum = function () {
return $scope.timesheets.reduce(function (memo, timesheet) {
// assuming you've DI'd $filter
var time = $filter('date')(timesheet.totalTime, 'HH:mm');
return memo + (+time);
}, 0);
}; // 16
根据您支持的浏览器,您可能需要填充Array#reduce
或使用lodash / underscore。