在ng重复循环中添加以获得总计(AngularJS)
我有一个表格,显示员工工作的小时数。数据位于$scope.dailytimes中。每一行都有一个名为time的列,显示一天工作的小时数。我需要一种方法来循环遍历每一行并将时间加在一起。因此,如果有4行结果,员工每天工作3小时,我的总数将是4。每天工作的时间不一样,所以我不能成倍增加 我已经开始这样做了,但它不起作用在ng重复循环中添加以获得总计(AngularJS),angularjs,foreach,ng-repeat,Angularjs,Foreach,Ng Repeat,我有一个表格,显示员工工作的小时数。数据位于$scope.dailytimes中。每一行都有一个名为time的列,显示一天工作的小时数。我需要一种方法来循环遍历每一行并将时间加在一起。因此,如果有4行结果,员工每天工作3小时,我的总数将是4。每天工作的时间不一样,所以我不能成倍增加 我已经开始这样做了,但它不起作用 $http({ url: '/SharedData/DailyTime', method: 'POST' }).success(functi
$http({
url: '/SharedData/DailyTime',
method: 'POST'
}).success(function (data) {
$scope.dailytimes = data
$scope.total = function () {
var total = 0
angular.forEach($scope.dailytimes, function(dailytime){
total += total + dailytime.time
})
return total;
}
})
以下是我的建议,请重复:
<tr ng-repeat="dailytime in dailytimes" style="line-height:18px;">
<td width="50" style="font-weight:bold;">
<div ng-if="dailytime.ClockType == 0">Vacation</div>
<div ng-if="dailytime.ClockType == 1">PTO</div>
<div ng-if="dailytime.ClockType != 0 || dailytime.ClockType != 1">Clocked</div>
</td>
<td width="70" align="right" style="font-size:12px;"> {{dailytime.ClockIn}}</td>
<td width="70" align="right" style="font-size:12px;">{{dailytime.ClockOut}}</td>
<td width="40" align="right">{{dailytime.time}}</td>
</tr>
<tr style="line-height:18px;">
<td style="font-weight:bold;">Total</td>
<td colspan="3" align="right" style="font-weight:bold;">NEED A TOTAL HERE</td>
</tr>
有什么办法吗 你可以这样做
在作用域上定义totaltime变量
$scope.totaltime=0;
$scope.updateTotal = function(t){
$scope.totaltime = $scope.totaltime +t;
return t;
}
现在重复一遍
<td width="40" align="right">{{updateTotal(dailytime.time)}}</td>
您可以在控制器或其他地方访问total函数,并使用如下所示的函数
<td colspan="3" align="right" style="font-weight:bold;">{{total() }}</td>
那似乎不起作用。这只是写出了{$scope.totaltime+=dailytime.time}并中断了。它没有显示任何数字。我也不确定这是否有效,因为我需要添加多个dailytime.time日志。在这一点上,在我的代码中,我不在我的循环中,我明白了。谢谢谢谢你的回答@JayI只是想强调一下,total+=total+dailytime.time应该改为total+=dailytime.time,这样做是有意义的。