ng-class
to dyrektywa podstawowych AngularJs. W którym możesz użyć „Składni ciągu”, „Składni macierzy”, „Wyrażenia wyrażonego”, „Operatora trójskładnikowego” i wielu innych opcji opisanych poniżej:
ngClass przy użyciu składni łańcuchowej
Jest to najprostszy sposób użycia ngClass. Możesz po prostu dodać zmienną Angular do ng-class i to jest klasa, która zostanie użyta dla tego elementu.
<!-- whatever is typed into this input will be used as the class for the div below -->
<input type="text" ng-model="textType">
<!-- the class will be whatever is typed into the input box above -->
<div ng-class="textType">Look! I'm Words!
Przykład demonstracji ngClass przy użyciu składni łańcuchowej
ngClass przy użyciu składni macierzy
Jest to podobne do metody składni łańcuchowej, z tym że możesz zastosować wiele klas.
<!-- both input boxes below will be classes for the div -->
<input type="text" ng-model="styleOne">
<input type="text" ng-model="styleTwo">
<!-- this div will take on both classes from above -->
<div ng-class="[styleOne, styleTwo]">Look! I'm Words!
ngClass przy użyciu wyrażenia ewaluowanego
Bardziej zaawansowaną metodą używania ngClass (i tej, której prawdopodobnie będziesz używać najczęściej) jest ocena wyrażenia. Działa to w ten sposób, że jeśli zmienna lub wyrażenie oblicza wartość true
, możesz zastosować określoną klasę. Jeśli nie, klasa nie zostanie zastosowana.
<!-- input box to toggle a variable to true or false -->
<input type="checkbox" ng-model="awesome"> Are You Awesome?
<input type="checkbox" ng-model="giant"> Are You a Giant?
<!-- add the class 'text-success' if the variable 'awesome' is true -->
<div ng-class="{ 'text-success': awesome, 'text-large': giant }">
Przykład ngClass z wykorzystaniem wyrażenia ewaluowanego
ngClass Korzystanie z wartości
Jest to podobne do oceny wyrażonej metody, z tą różnicą, że możesz porównać wiele wartości z jedyną zmienną.
<div ng-class="{value1:'class1', value2:'class2'}[condition]"></div>
ngClass Korzystanie z operatora trójskładnikowego
Operator trójskładnikowy pozwala nam użyć skróconej nazwy do określenia dwóch różnych klas, jednej, jeśli wyrażenie jest prawdziwe, a drugiej dla fałszu. Oto podstawowa składnia dla operatora trójskładnikowego:
ng-class="$variableToEvaluate ? 'class-if-true' : 'class-if-false'">
Ocena pierwszej, ostatniej lub określonej liczby
Jeśli używasz ngRepeat
dyrektywę i chcesz zastosować do klas first
, last
albo liczby określonej w wykazie, można użyć specjalnych właściwości ngRepeat
. Należą do nich $first
, $last
, $even
, $odd
, i kilka innych. Oto przykład, jak z nich korzystać.
<!-- add a class to the first item -->
<ul>
<li ng-class="{ 'text-success': $first }" ng-repeat="item in items">{{ item.name }}</li>
</ul>
<!-- add a class to the last item -->
<ul>
<li ng-class="{ 'text-danger': $last }" ng-repeat="item in items">{{ item.name }}</li>
</ul>
<!-- add a class to the even items and a different class to the odd items -->
<ul>
<li ng-class="{ 'text-info': $even, 'text-danger': $odd }" ng-repeat="item in items">{{ item.name }}</li>
</ul>