Jika Anda tidak ingin memasukkan nama kelas CSS ke Controller seperti yang saya lakukan, ini adalah trik lama yang saya gunakan sejak pra-v1 hari. Kami dapat menulis ekspresi yang mengevaluasi langsung ke nama kelas yang dipilih , tidak ada arahan khusus yang diperlukan:
ng:class="{true:'selected', false:''}[$index==selectedIndex]"
Harap perhatikan sintaks lama dengan titik dua.
Ada juga cara baru yang lebih baik untuk menerapkan kelas secara kondisional, seperti:
ng-class="{selected: $index==selectedIndex}"
Angular sekarang mendukung ekspresi yang mengembalikan objek. Setiap properti (nama) objek ini sekarang dianggap sebagai nama kelas dan diterapkan tergantung pada nilainya.
Namun cara-cara ini secara fungsional tidak sama. Berikut ini sebuah contoh:
ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"
Karena itu kami dapat menggunakan kembali kelas CSS yang ada dengan memetakan properti model pada nama kelas dan pada saat yang sama menjauhkan kelas CSS dari kode Pengontrol.