0

我有以下html。

<div ng-controller="CustCtrl">
<table class="table table-condensed">
    <thead>
        etc.
    </thead>
    <tbody>
        <tr ng-repeat="customer in customers" data-cust-id="{{customer.Id}}">
            <td>
              <button ng-model="Id" tracking-{{customer.Tracking}} ng-click="startTrackingCustById(customer.Id)">
              </button>
            </td>
         etc.
        </tr>
    </tbody>
</table>

所以按钮有一个类,它是数据绑定到 customer.Tracking 值的,它是真或假。单击按钮时,成功调用 startTrackingCustById() 方法并成功更改客户对象中的客户对象,如 customer.Tracking = true。

但是按钮类没有更新。我错过了什么?

4

2 回答 2

1

在 CustCtrl 我包装了像这样更新客户数组的调用

$scope.$apply($scope.customers[i].Tracking = true);

根据答案中的建议,当我发现它基本上说“如果您在更新视图时遇到问题,您很可能需要使用 $scope.$apply

这样就可以工作了。现在我需要弄清楚为什么以及如何。

于 2013-03-09T23:42:11.647 回答
1

看看使用ng-class。对于范围内的布尔值,您将使用:

ng-class="{'classNameToAddIfTrue':customer.Tracking}"
于 2013-03-09T23:33:31.353 回答