ng-class
เป็นคำสั่งของแกน AngularJs ซึ่งคุณสามารถใช้ "String Syntax", "Array Syntax", "Evaluated Expression", "Ternary Operator" และตัวเลือกอื่น ๆ อีกมากมายที่อธิบายไว้ด้านล่าง:
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 การใช้ไวยากรณ์สตริง
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 โดยใช้ Expression ที่ประเมินค่า
ngClass การใช้ค่า
วิธีนี้คล้ายกับวิธีการแสดงออกที่ได้รับการประเมินยกเว้นคุณสามารถเปรียบเทียบค่าหลายค่ากับตัวแปรเท่านั้น
<div ng-class="{value1:'class1', value2:'class2'}[condition]"></div>
ngClass การใช้ผู้ประกอบการ Ternary
ผู้ประกอบการที่ประกอบไปด้วยไตรภาคอนุญาตให้เราใช้ชวเลขและระบุสองชั้นที่แตกต่างกันหนึ่งถ้าการแสดงออกเป็นจริงและหนึ่งสำหรับเท็จ นี่คือไวยากรณ์พื้นฐานสำหรับผู้ประกอบการที่ประกอบไปด้วย:
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>