我有ng-repeat
并在ng-repeat
内
每个替代div都有不同的border-color
。所以我用过
< div ng-repeat="channel in channelList">
<div ng-style="getBgColor()">
</div
getBgColor()
定义为:
$scope.currentColorIndex = (($scope.currentColorIndex+1) % $scope.radioColors.length);
$scope.tileColor = $scope.radioColors[$scope.currentColorIndex].hex;
return $scope.tileColor
我一直收到错误
$rootScope:infdig] 10 $digest() iterations reached
我知道为什么我会收到错误,因为在每次ng-repeat
次迭代中我都返回一个不同的对象。这有什么作用?
答案 0 :(得分:3)
在这里你甚至不需要调用函数,因为 ng-repeat
使用$index
记录其索引,你可以在内部元素中使用它。
<div ng-repeat="channel in channelList">
<div ng-style="{color: radioColors[$index].hex}">
</div
它会将color
属性分配给radioColors[$index].hex
表达式返回的十六进制,其中radioColors
是范围对象。
答案 1 :(得分:2)
使用ngRepeat可以使用$ index。
<div ng-repeat="channel in channelList">
<div ng-style="getBgColor($index)">
</div>