ng-class
핵심 AngularJ의 지시문입니다. "String Syntax", "Array Syntax", "Evaluated Expression", "Ternary Operator"및 아래에 설명 된 더 많은 옵션을 사용할 수 있습니다.
문자열 구문을 사용하는 ngClass
ngClass를 사용하는 가장 간단한 방법입니다. ng-class에 Angular 변수를 추가하면 해당 요소에 사용될 클래스가됩니다.
<!-- 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의 데모 예
배열 구문을 사용한 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
삼항 연산자는 속기를 사용하여 두 개의 다른 클래스를 지정할 수 있습니다. 하나는 표현식이 true이고 하나는 false입니다. 삼항 연산자의 기본 구문은 다음과 같습니다.
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>