Angularjs ng-repeat промежуточный итог на основе значения
Работа в angularjs и поиск промежуточного итога на основе значения, полученного из данных. Следующий код всегда возвращает полное общее значение для всех элементов.
<div ng-repeat="child in pItem.childItems | orderBy:'displayOrder'" ng-init="$parent.totalValue = $parent.totalValue + child.field[0].value">
Изменение этого значения из родительской области в дочернюю очищает значение totalValue при каждом повторении. Таким образом, значение всегда равно дочернему значению только для этого одного элемента.
Я ищу что-то похожее на следующее. Где Item1 имеет значение 2, Item2 - значение 3, а Item3 - значение 4.
- Item1 2
- Item2 5
- Item3 9
1 ответ
Решение
Попробуйте что-то вроде этого, это должно сработать:
<div
ng-repeat="child in pItem.childItems | orderBy:'displayOrder'"
ng-init="child.totalValue = pItem.childItems[$index-1].totalValue + child.field[0].value">
{{child.field[0].value}} {{child.totalValue}}
</div>
Таким образом, вы в основном суммируете с предыдущим результатом totalValue.