ng-class
є Директивою основних AngularJs. У яких ви можете використовувати "Синтаксис рядків", "Синтаксис масиву", "Оцінене вираження", "Побічний оператор" та багато інших параметрів, описаних нижче:
ngClass, використовуючи синтаксис рядків
Це найпростіший спосіб використання ngClass. Ви можете просто додати Angular змінну до ng-class, і це клас, який буде використовуватися для цього елемента.
<!-- 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!
Демонстраційний приклад ngClass, використовуючи синтаксис String
ngClass, використовуючи синтаксис масиву
Це схоже на метод синтаксису рядків, за винятком того, що ви можете застосувати кілька класів.
<!-- 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, використовуючи оцінене вираження
Більш просунутий метод використання ngClass (і той, який ви, мабуть, використовуватимете найбільше) - це оцінити вираз. Це працює так: якщо змінна або вираз оцінюється до true
, ви можете застосувати певний клас. Якщо ні, то клас не застосовуватиметься.
<!-- 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 }">
Приклад ngClass, використовуючи оцінене вираження
ngClass, використовуючи значення
Це аналогічно методу оцінюваного вираження, за винятком того, що ви просто зможете порівняти кілька значень з єдиною змінною.
<div ng-class="{value1:'class1', value2:'class2'}[condition]"></div>
ngClass Використання термінального оператора
Потрійний оператор дозволяє нам використовувати стенограму, щоб вказати два різні класи: один, якщо вираз є істинним, а другий - хибним. Ось основний синтаксис для потрійного оператора:
ng-class="$variableToEvaluate ? 'class-if-true' : 'class-if-false'">
Оцінка першого, останнього чи конкретного числа
Якщо ви використовуєте ngRepeat
директиву , і ви хочете застосувати класи до first
, last
або певний номер в списку, ви можете використовувати спеціальні властивості ngRepeat
. До них відносяться $first
, $last
, $even
, $odd
, і деякі інші. Ось приклад того, як їх використовувати.
<!-- 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>