シンプルなhtml:
<table class="table table-condensed">
<tr data-ng-repeat="customer in customers" data-ng-class="customerSelectedClass(customer)">
<td>
<a href="" data-ng-click="selectCustomer(customer)">{{customer.Name}}</a>
</td>
</tr>
</table>
私のコントローラーでは、顧客を選択し、適切なクラスを返してテーブルの行を強調表示する2つの関数:
$scope.customerSelectedClass = function (customer) {
if (customer == $scope.selectedCustomer) {
console.log('returing info for ' + customer.Name);
return "info";
}
return "";
};
$scope.selectCustomer = function (customer) {
console.log('selecting ' + customer.Name);
$scope.selectedCustomer = customer;
}
顧客リンクをクリックすると、customerSelectedClass 関数が 2 回実行されることに気付きました。ng-click ディレクティブの selectCustomer 関数は、必要に応じて 1 回実行されます。Angular はページに 1 回だけ含まれます。これはAngularのバグなのか、それとも私が間違っているのだろうか?