スコアリングシステムを構築していて、別のコレクションの値に基づいてスコアを計算しようとしています。私はこの例を使用しています:Calculating sum of repeated elements in AngularJS ng-repeat、しかし私は彼らが2つではなく1つのコレクションを使用していると信じて、それを動作させることができませんでした。フィルタリングされたanglejsリピータのアイテムに基づいて値を計算する方法
<div>{{parent.id}}</div>
<div>{{ getTotal() }}</div>
<div ng-repeat="child in children | orderBy: '-postedTime' | filter: {parentId: parent.id}">
<div>{{child.score}}</div>
</div>
JS:ここ
は、上記の質問からの提案を使用して、私のテンプレートである
$scope.getTotal = function(){
var total = 0;
for(var i = 0; i < $scope.children.length; i++){
var score = $scope.child.score[i];
total += (child.score);
}
return total;
}
は、上で濾過子どもやディスプレイからすべてのスコアを合計する方法はあります親?
これはリピーター内で動作します。私はそれを外に表示するためにスコアを取得しようとしています。リピーターに5人の子供がいる場合は、各子供のスコアを合計して親テンプレートに表示します。 ng-initを使ってこれを行うことはできますか? – ChristopherHall
次に{{totalScore}}を削除してスコープでコントローラにアクセスすると、この値にアクセスできるはずです – CrazyMac