我正在使用ng-repeat的二重奏来创建一个矩阵表,但在更新数据后,着色函数(如果参数大于0,则简单返回'green')停止工作。
当我加载第一个(假的)数据时,颜色可以正常工作,但在任何更新后它都会停止工作。初始化2d阵列时,它将始终正确加载和显示。我没有发现调试错误或逻辑问题。
Jfiddle 更新**:我创建了一个简单的函数,可以更改“原始”2D数组中的一些值,但我仍然面临着不更新颜色的问题。我非常肯定这是一个AngularJS问题(缺点?)而不是数据本身的问题。
<!-- MATRIX TABLE -->
<div class="center w80" >
<div id = "MatrixTable2">
<table border="1">
<thead>
<tr>
<th></th> <!-- blank -->
<th ng-repeat="ppp in PlayerIDList">{{ppp.name}}</th>
</tr>
</thead>
<tbody>
<tr width="50px" ng-repeat="row in Matrix" >
<td class="rowlabel">{{PlayerIDList[$index].name}}</td>
<td width="50px" ng-repeat="col in row track by $index" ng-class="::funcGetColorByBool({{col}})">{{col}}</td>
</tr>
</tbody>
</table>
</div>
<!-- END MATRIX TABLE -->
答案 0 :(得分:1)
我相信你的问题是类绑定,::
前缀意味着这个表达式只被评估一次。
"::funcGetColorByBool({{col}})"
此外,您需要修复表达式以传递col:
的值发件人:强>
ng-class="::funcGetColorByBool({{col}})"
以强>
ng-class="funcGetColorByBool(col)"
Here是一名工作人员。