Я создаю систему подсчета очков и пытаюсь вычислить оценку на основе значений в отдельной коллекции. Я использовал этот пример: Calculating sum of repeated elements in AngularJS ng-repeat, но не смог заставить его работать, поскольку я считаю, что они используют одну коллекцию, а не две.Как вычислить значение, основанное на элементах в отфильтрованном ретрансляторе angularjs
Вот мой шаблон, используя предложения из приведенного выше вопроса:
<div>{{parent.id}}</div>
<div>{{ getTotal() }}</div>
<div ng-repeat="child in children | orderBy: '-postedTime' | filter: {parentId: parent.id}">
<div>{{child.score}}</div>
</div>
В ЯШАХ:
$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