我有一个通过以下代码动态生成的表:
<tbody>
<tr ng-repeat="row in tableType.data.rows track by $index">
<td ng-repeat="col in row track by $index" class={{getUnitCountCellColor(col)}}>{{col}}</td>
</tr>
</tbody>
对表进行迭代的数据如下所示:
[["69123", 20, 20, 40, 0, 0, 0, 0, 20, 20, 20, 0, 20, 20, 0, 20],
["69121", 20, 20, 40, 0, 0, 0, 20, 20, 40, 20, 0, 20, 20, 0, 20],
["69124", 20, 20, 40, 0, 0, 0, 0, 0, 0, 20, 0, 20, 0, 0, 0],
["69221", 20, 20, 40, 20, 0, 20, 0, 0, 0, 20, 0, 20, 20, 20, 40]
]
如您所见,数据是一个嵌套数组。现在,我尝试通过调用在父控制器作用域中定义的方法getUnitCountCellColor()来设置每个单元格的颜色。
该方法只是获取值,然后根据该值将颜色类作为字符串返回。(例如:危险,成功)
目前,它仅被调用了4次,其值为'undefined'。
我试图用ng-class实现为:
<td ng-repeat="col in row track by $index" ng-class="getUnitCountCellColor(col)">{{col}}</td>
但是然后根本不调用该方法。
请通过指出当前代码中的错误或通过其他更好的方法来帮助我实现此功能。
感谢您,
使用ng-class
应该有效。
<td ng-repeat="col in row track by $index" ng-class='getUnitCountCellColor(col)'>{{col}}</td>
这是一个演示,我将所有零都涂成红色。
因此,您的表位于指令中,单元格颜色方法位于控制器中。您可以将getUnitCountCellColor
函数传递给指令。
<count-table table-type='tableType'
get-unit-count-cell-color='getUnitCountCellColor(col)'>
</count-table>
指令中的范围如下所示:
scope: {
tableType:'=tableType',
getUnitCountCellColor: '&'
}
指令模板如下所示:
<td ng-repeat="col in row track by $index"
ng-class="getUnitCountCellColor({col: col})">{{col}}
</td>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句