更新2D阵列后,着色功能不起作用

时间:2016-04-19 20:14:44

标签: angularjs function matrix

我正在使用ng-repeat的二重奏来创建一个矩阵表,但在更新数据后,着色函数(如果参数大于0,则简单返回'green')停止工作。

当我加载第一个(假的)数据时,颜色可以正常工作,但在任何更新后它都会停止工作。初始化2d阵列时,它将始终正确加载和显示。我没有发现调试错误或逻辑问题。

Jfiddle 更新**:我创建了一个简单的函数,可以更改“原始”2D数组中的一些值,但我仍然面临着不更新颜色的问题。我非常肯定这是一个AngularJS问题(缺点?)而不是数据本身的问题。

HTML

<!-- 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 -->

1 个答案:

答案 0 :(得分:1)

我相信你的问题是类绑定,::前缀意味着这个表达式只被评估一次。

"::funcGetColorByBool({{col}})"

此外,您需要修复表达式以传递col:

的值

发件人:

ng-class="::funcGetColorByBool({{col}})"

ng-class="funcGetColorByBool(col)"

Here是一名工作人员。