जब मैं एक वर्ग पहले से ही पूरी मेज पर लागू किया गया था (उदाहरण के लिए, विषम रंग के लिए लागू रंग ) के अंदर तालिका तत्वों के अंदर कक्षाएं लगाने पर मुझे समस्याएं मिली हैं <myClass tbody tr:nth-child(even) td>
। ऐसा लगता है कि जब आप डेवलपर टूल के साथ तत्व का निरीक्षण करते हैं , तो element.style
कोई शैली असाइन नहीं की गई है। इसलिए उपयोग करने के बजाय ng-class
, मैंने उपयोग करने की कोशिश की है ng-style
, और इस मामले में, नई सीएसएस विशेषता अंदर दिखाई देती है element.style
। यह कोड मेरे लिए बहुत अच्छा काम करता है:
<tr ng-repeat="element in collection">
[...amazing code...]
<td ng-style="myvar === 0 && {'background-color': 'red'} ||
myvar === 1 && {'background-color': 'green'} ||
myvar === 2 && {'background-color': 'yellow'}">{{ myvar }}</td>
[...more amazing code...]
</tr>
Myvar वह है जिसका मैं मूल्यांकन कर रहा हूं, और प्रत्येक मामले में मैं myvar मूल्य के <td>
आधार पर प्रत्येक के लिए एक शैली लागू करता हूं , जो पूरी तालिका के लिए CSS वर्ग द्वारा लागू वर्तमान शैली को अधिलेखित करता है।
अपडेट करें
यदि आप उदाहरण के लिए, किसी पृष्ठ पर या अन्य मामलों में, कक्षा में कक्षा को लागू करना चाहते हैं, तो आप इस संरचना का उपयोग कर सकते हैं:
<li ng-class="{ active: isActive('/route_a') || isActive('/route_b')}">
मूल रूप से, एनजी-क्लास को सक्रिय करने के लिए हमें जो आवेदन करने की आवश्यकता है वह है क्लास और एक सही या गलत स्टेटमेंट। सच वर्ग पर लागू होता है और गलत नहीं होता है। तो यहाँ हम पेज के मार्ग और एक के दो चेकों है या उन दोनों के बीच है, इसलिए यदि हम में हैं /route_a
या हम में हैं route_b
, सक्रिय वर्ग लागू किया जाएगा।
यह सही या सही रिटर्न देने वाले तर्क पर कार्य करता है।
तो पहले उदाहरण में, एनजी-शैली को तीन कथनों द्वारा वातानुकूलित किया गया है। यदि वे सभी झूठे हैं, तो कोई भी शैली लागू नहीं होती है, लेकिन हमारे तर्क का पालन करते हुए, कम से कम एक को लागू किया जा रहा है, इसलिए, तर्क की अभिव्यक्ति जांच करेगी कि कौन सा चर तुलना सही है और क्योंकि एक गैर खाली सरणी हमेशा सही होती है, यह एक सरणी को वापसी के रूप में छोड़ दिया और केवल एक सच के साथ, हम विचार कर रहे हैं या पूरी प्रतिक्रिया के लिए उपयोग कर रहे हैं , शेष शैली को लागू किया जाएगा।
वैसे, मैं आपको फ़ंक्शन देना भूल गया हूँ
$rootScope.isActive = function(viewLocation) {
return viewLocation === $location.path();
};
नई अपडेट
यहाँ आपके पास कुछ है जो मुझे वास्तव में उपयोगी लगता है। जब आपको एक चर के मूल्य के आधार पर एक वर्ग को लागू करने की आवश्यकता होती है, उदाहरण के लिए, सामग्री के आधार पर एक आइकन div
, आप निम्न कोड (बहुत उपयोगी ng-repeat
) का उपयोग कर सकते हैं :
<i class="fa" ng-class="{ 'fa-github' : type === 0,
'fa-linkedin' : type === 1,
'fa-skype' : type === 2,
'fa-google' : type === 3 }"></i>
फ़ॉन्ट भयानक से प्रतीक