У меня есть элемент строки таблицы HTML (tr) с ассоциированным с ним классом ng. «Активный» класс - это стиль CSS, который выделяет строку таблицы. Существует условие (selRole == роль), указывающее, что выбранная роль должна быть выделена.
#rolesTable tr.active td {
color: #ffffff;
background-color: #2a9fd6;
}
<tr ng-class="{'active':selRole==role}" ng-click="setCurrentRole(role)" ng-repeat="role in roles">
<td>{{ role.Name }}</td>
</tr>
$scope.setCurrentRole = function (role) {
$scope.selRole = role;
$scope.permissions = role.Permissions;
$scope.selPermission = null;
$scope.selRoleIndex = $scope.roles.indexOf(role);
}
Прямо сейчас, когда я нажимаю на строку, она меняет цвет, чтобы указать, что я выбрал ее.
Проблема в том, что мне иногда нужно обновить список ролей в таблице. Свойство selRole сохраняет его значение, но когда я обновляю список, я теряю выделение.
Даже когда я заставляю код выполнять функцию setCurrentRole, он не подсвечивается автоматически. Мне явно нужно щелкнуть по нему, чтобы выделить его.
Мне нужно, чтобы выбранная роль оставалась выделенной, даже когда я обновляю список. Я не знаю, как это сделать в AngularJS.