Angularjs 当值发生变化时,以ng重复计算总和
当值发生变化时,我要计算总和Angularjs 当值发生变化时,以ng重复计算总和,angularjs,sum,angularjs-ng-repeat,Angularjs,Sum,Angularjs Ng Repeat,当值发生变化时,我要计算总和 <tr ng-repeat="act in ctrl.otsact.tests" ng-if="ctrl.editToggle"> <td> <md-input-container> <input type="text" ng-model="act.test_date" class="dateField" aria-label="Test Date"> &
<tr ng-repeat="act in ctrl.otsact.tests" ng-if="ctrl.editToggle">
<td>
<md-input-container>
<input type="text" ng-model="act.test_date" class="dateField" aria-label="Test Date">
</md-input-container>
</td>
<td ng-repeat="sub in act.subjects" >
<md-input-container>
<input type="number" ng-model="sub.score" aria-label="Score">
</md-input-container>
</td>
<td class="composite">
100
</td>
<td><span ng-click="ctrl.removeOTSACT(act.id)"> x </span></td>
</tr>
要在加载视图时计算合成:
<td class="composite">{{ getSum(act) }}</td>
{{getSum(act)}
控制器:
$scope.getSum = function(act){
var sum = 0;
for(var i = 0; i < act.subjects.length; ++i){
var subject = act.subjects[i];
sum += subject.score;
}
return sum;
}
$scope.getSum=函数(act){
var总和=0;
对于(变量i=0;i
当您使用ngModel指令或插值时,数据是双向绑定的,每次更改模型时都会重新计算函数值。像这样更改视图
<tr ng-repeat="act in ctrl.otsact.tests" ng-init="act.subjects.total=0" ng-
if="ctrl.editToggle">
<td>
<md-input-container>
<input type="text" ng-model="act.test_date" class="dateField" aria-
label="Test Date">
</md-input-container>
</td>
<td ng-repeat="sub in act.subjects" >
<md-input-container>
<input type="number" ng-model="sub.score"
ng-init="act.subjects.total=act.subjects.total+sub.score" aria-label="Score">
</md-input-container>
</td>
<td class="composite">
{{act.subjects.total}}
</td>
<td><span ng-click="ctrl.removeOTSACT(act.id)"> x </span></td>
</tr>
{{act.subjects.total}
x
试试这个:
<td class="composite">{{act.subjects | map:'score' | sum}}</td>
{{act.subjects | map:'score'| sum}
控制器code@DeveloperUseng对输入进行更改
,并在控制器中调用一个函数来更新复合值。登陆时这很好。我如何计算值?我得到一个错误angular.js:107错误:[$injector:unpr] http://errors.angularjs.org/1.4.4/$injector/unpr?p0=sumFilterProvider%20%3C
。我必须进行任何配置更改。?是的,您是否在模块中包含角度过滤器并将其注入?您能否提供有关为什么建议此答案的更多详细信息?默认情况下,其显示为NaN,我如何解决此问题。?
<td class="composite">{{act.subjects | map:'score' | sum}}</td>