यदि आप सीएसएस श्रेणी के नामों को नियंत्रक की तरह नहीं रखना चाहते हैं जैसे मैं करता हूं, तो यहां एक पुरानी चाल है जिसे मैं पूर्व-v1 दिनों से उपयोग करता हूं। हम एक अभिव्यक्ति का चयन कर सकते हैं जो सीधे चयनित वर्ग के नाम का मूल्यांकन करता है , कोई कस्टम निर्देश आवश्यक नहीं हैं:
ng:class="{true:'selected', false:''}[$index==selectedIndex]"
कृपया पुराने सिंटैक्स को कोलन के साथ नोट करें।
सशर्त रूप से कक्षाएं लगाने का एक नया बेहतर तरीका भी है, जैसे:
ng-class="{selected: $index==selectedIndex}"
कोणीय अब उन भावों का समर्थन करता है जो किसी वस्तु को वापस करते हैं। इस ऑब्जेक्ट की प्रत्येक संपत्ति (नाम) को अब एक वर्ग नाम के रूप में माना जाता है और इसके मूल्य के आधार पर लागू किया जाता है।
हालाँकि ये तरीके कार्यात्मक रूप से समान नहीं हैं। यहाँ एक उदाहरण है:
ng-class="{admin:'enabled', moderator:'disabled', '':'hidden'}[user.role]"
इसलिए हम मौजूदा सीएसएस वर्गों को मूल रूप से मॉडल प्रॉपर्टी को क्लास के नाम पर मैप करके पुन: उपयोग कर सकते हैं और उसी समय सीएसएस कक्षाओं को कंट्रोलर कोड से बाहर रख सकते हैं।