我创建了这样一个作用域函数。
$scope.getTotal = function(){
var total1 = 0;
var total2 = 0;
var total3 = 0;
for(var i = 0; i < $scope.today.length; i++){
var ordqt = $scope.today[i]["OrdQ"];
var ordvval = $scope.today[i]["OrdSV"];
var resqt = $scope.today[i]["RecQ"];
total1 = +total1 + +ordqt;
total2 = +total2 + +ordvval;
total3 = +total3 + +resqt;
}
total = total1+"@"+total2+"@"+total3;
return total;
}如何将要在这里显示的getTotal函数的值拆分?
<td>{{ getTotal() }}<td>
<td>{{ getTotal() }}<td>
<td>{{ getTotal() }}<td>发布于 2015-09-03 06:44:17
你应该改正下面的一行
total1 = total1 + ordqt;
total2 = total2 + ordvval;
total3 = total3 + resqt;您可以通过使用ng-repeat来完成它。
<td ng-repeat="total in getTotal().split('@') track by $index">
{{ total }}
</td>发布于 2015-09-03 06:45:34
你不应该一开始就加入他们:
$scope.getTotal = function() {
// ...
return {
total1: total1,
total2: total2,
total3: total3
};
}和
<td>{{ getTotal().total1 }}<td>
<td>{{ getTotal().total2 }}<td>
<td>{{ getTotal().total3 }}<td>或者更好的是,制作3个不同的函数,计算3个不同的总计,并从视图中调用每个函数。
或者更好的是,让一个函数接受您想要在参数中计算总计的字段:
$scope.getTotal = function(field){
var total = 0;
for (var i = 0; i < $scope.today.length; i++){
var value = $scope.today[i][field];
total = +total + +value;
}
return total;
}并使用
<td>{{ getTotal('OrdQ') }}<td>
<td>{{ getTotal('OrdSV') }}<td>
<td>{{ getTotal('RecQ') }}<td>请注意,如果使用有意义的名称,代码的可读性将大大提高。OrdQ和ordqt是什么意思?为什么有时使用ordqt,有时使用OrdQ,做同样的事情。为什么不使用一些有意义的东西,我想,orderQuantity
https://stackoverflow.com/questions/32368610
复制相似问题