我知道我遇到的问题,但我无法找到解决方法。无论我做什么,我都会收到一个摘要错误。我相信的问题是在 ng-repeat 中调用“getPlayerIcon”方法。
HTML:
<div class="col-md-2" ng-repeat="player in team.players">
<img class="card-img-player" ng-src="/{{player.position}}/{{getPlayerIcon(player.position)}}" data-holder-rendered="true" style="height: 270px; width: 100%; display: block;">
</div>
AngularJS:
$scope.getPlayerIcon = function(position) {
if ($scope[position] === undefined)
$parse(position).assign($scope, 1);
$scope[position]++;
return $scope[position];
}
“玩家”包含一个“位置”字段,可以是防御者或攻击者。'getPlayerIcon' 方法将位置作为参数,然后创建一个具有该位置名称的范围变量,如果它是第一个遇到该位置的值,则值为 1,或者如果出现那个位置。
我遇到的问题是,在 ng-src 上调用一个方法每次在 ng-repeat 中调用它时都会更改值,这会导致臭名昭著的 indig 摘要错误:
angular.js:68 Uncaught Error: [$rootScope:infdig] 10 $digest - `iterations reached. Aborting!`
我怎样才能解决这个问题?我必须递增,因为例如,如果 team.players 中有 4 名防守者和 4 名攻击者,我希望能够使用 Defender/1、Defender/2、Defender/3、Defender/4、Attacker/ 加载图像1、攻击者/2、攻击者/3、攻击者/4。基本上我需要它来识别位置,并计算该位置以提取正确的图像。
帮助!
谢谢,FYP