2015-09-10 4 views
1

вид внутри меняOnClick изменить CSS на один HTML элемент

<a ng-class="{'active' : check}" ng-click="doSomething()">1</a> 
<a ng-class="{'active' : check}" ng-click="doSomething()">2</a> 

$scope.doSomething= function() { 
    $scope.check = true; 
} 

Я хочу установить CSS класс только к onclicked элемента. Используя этот код, я меняю несколько элементов. Как ограничить только один элемент?

ответ

2

Вы можете установить переменную check следующим образом. И в ng-class сравните значение check с соответствующим значением.

<a ng-class="{'active' : check === 1}" ng-click="check = 1">1</a> 
<a ng-class="{'active' : check === 2}" ng-click="check = 2">2</a> 

Demo

С функцией в контроллере:

<a ng-class="{'active' : check === 1}" ng-click="doSomething(1)">1</a> 
<a ng-class="{'active' : check === 2}" ng-click="doSomething(2)">2</a> 

Контроллер:

$scope.doSomething= function (index) { 
    $scope.check = index; 
}; 
+0

Вы должны использовать '' === вместо '=='. –

+0

@ Ursus Да, это лучше, я обновил ответ – Tushar

+0

, он работает с вашим примером, но я уже подключил событие на ng-click. Как я могу использовать с моим конкретным примером, можно ли использовать два параметра ng-click? – user1765862

Смежные вопросы