Tengo un div ng-repeat que recorre una matriz, y luego dentro de ese ng-repeat, llamo a una función que toma el elemento y devuelve una puntuación basada en él de esta manera:
<div ng-repeat="game in games track by $index"> <span>{{ getScore(game) }}<i class="icon ion-checkmark-bold" ng-if="!getScore(game)"></i></span> </div> El problema es que llamo a getScore() dos veces cada ng-repeat y me preguntaba si hay alguna manera de cambiar mi código, así que solo lo llamo una vez y luego paso el resultado a ambos lugares.
Intenté usar ng-init así:
<div ng-repeat="game in games track by $index" ng-init="score = getScore(game)"> <span>{{ score }}<i class="icon ion-checkmark-bold" ng-if="!score)"></i></span> </div>Sin embargo, noté que esto no funciona, y el resultado de la puntuación termina siendo el mismo para todas las repeticiones.