我将几列连接成一列并在网格上显示。我想将该值推入数组中。虽然这样做我得到这个错误。
错误:[$ rootScope:infdig] 10 $ digest()迭代达成。中止! 观察者在最近5次迭代中被解雇:
我也注意到这个函数被多次调用。我在其他帖子中做了一些事情,但没有任何效果。 在下面的代码中我连接getLoss()函数中的列,我试图将该值插入数组。
当为每一行调用函数时,如何将值推入数组?
columnDefs: [{ field : 'loss',
cellTemplate : '<div id="grid-cell-template">
{{grid.appScope.getLoss(row.entity)}}</div>'}]
var totalLoss = [];
$scope.getLoss = function(rowEntity) {
var ls1 = rowEntity.loss1;
var ls2 = rowEntity.loss2;
var ls3 = rowEntity.loss3;
loss= ls1+ls2+ls3;
console.log("loss=", loss);
totalLoss.push(loss);
return loss;
};
答案 0 :(得分:0)
而不是像表达式一样调用函数,在ng-init
columnDefs: [{ field : 'loss',
cellTemplate : '<div id="grid-cell-template" ng-init="grid.appScope.getLoss(row.entity)">
{{loss}}</div>'}]
将loss
变量更改为范围,并在函数内使totalLoss
为空。
var totalLoss = [];
$scope.getLoss = function(rowEntity) {
totalLoss = [];
var ls1 = rowEntity.loss1;
var ls2 = rowEntity.loss2;
var ls3 = rowEntity.loss3;
$scope.loss= ls1+ls2+ls3;
console.log("loss=", loss);
totalLoss.push(loss);
};