以不同方式设置 ng-repeat 中每个元素的样式
Style each element in ng-repeat differently
我有一个 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
迭代中我 return 都是一个不同的对象。解决这个问题的方法是什么?
使用 ngRepeat 允许您使用 $index.
<div ng-repeat="channel in channelList">
<div ng-style="getBgColor($index)">
</div>
这里你甚至不需要调用函数,因为 ng-repeat
使用 $index
记录它的索引,你可以在内部元素中使用它。
<div ng-repeat="channel in channelList">
<div ng-style="{color: radioColors[$index].hex}">
</div
它会将 color
属性 分配给 radioColors[$index].hex
表达式返回的十六进制,其中 radioColors
是作用域对象。
我有一个 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
迭代中我 return 都是一个不同的对象。解决这个问题的方法是什么?
使用 ngRepeat 允许您使用 $index.
<div ng-repeat="channel in channelList">
<div ng-style="getBgColor($index)">
</div>
这里你甚至不需要调用函数,因为 ng-repeat
使用 $index
记录它的索引,你可以在内部元素中使用它。
<div ng-repeat="channel in channelList">
<div ng-style="{color: radioColors[$index].hex}">
</div
它会将 color
属性 分配给 radioColors[$index].hex
表达式返回的十六进制,其中 radioColors
是作用域对象。