Benim gibi CSS sınıf isimlerini Controller'a koymak istemiyorsanız, v1 öncesi günlerden beri kullandığım eski bir numara. Seçilen sınıf adına doğrudan değerlendiren bir ifade yazabiliriz , özel direktif gerekmez:
ng:class="{true:'selected', false:''}[$index==selectedIndex]"
Lütfen iki nokta üst üste sözdizimini not edin.
Sınıfları şartlı olarak uygulamanın yeni ve daha iyi bir yolu da vardır:
ng-class="{selected: $index==selectedIndex}"
Açısal artık bir nesneyi döndüren ifadeleri desteklemektedir. Bu nesnenin her özelliği (adı) artık bir sınıf adı olarak kabul edilir ve değerine bağlı olarak uygulanır.
Ancak bu yollar işlevsel olarak eşit değildir. İşte bir örnek:
ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"
Bu nedenle, temel olarak bir model özelliğini bir sınıf adıyla eşleştirerek ve aynı zamanda CSS sınıflarını Denetleyici kodunun dışında tutarak mevcut CSS sınıflarını yeniden kullanabiliriz.