जवाबों:
अद्यतन : कोणीय 1.1.5 ने एक टर्नरी ऑपरेटर जोड़ा , इसलिए अब हम बस लिख सकते हैं
<li ng-class="$first ? 'firstRow' : 'nonFirstRow'">
यदि आप कोणीय के पुराने संस्करण का उपयोग कर रहे हैं, तो आपके दो विकल्प हैं:
(condition && result_if_true || !condition && result_if_false)
{true: 'result_if_true', false: 'result_if_false'}[condition]
आइटम 2. ऊपर दो गुणों के साथ एक वस्तु बनाता है। सरणी सिंटैक्स का उपयोग या तो नाम के साथ संपत्ति का चयन करने के लिए किया जाता है या नाम के साथ संपत्ति गलत है, और संबंधित मूल्य वापस लौटाता है।
उदाहरण के लिए,
<li class="{{{true: 'myClass1 myClass2', false: ''}[$first]}}">...</li>
or
<li ng-class="{true: 'myClass1 myClass2', false: ''}[$first]">...</li>
$ पहले को पहले तत्व के लिए एनजी-रिपीट के अंदर सही करने के लिए सेट किया गया है, इसलिए उपरोक्त वर्ग 'myClass1' और 'myClass2' को लूप के माध्यम से पहली बार लागू करेगा।
एनजी-क्लास के साथ हालांकि एक आसान तरीका है: एनजी-क्लास एक अभिव्यक्ति लेता है जिसे निम्नलिखित में से एक का मूल्यांकन करना चाहिए:
1 का उदाहरण) ऊपर दिया गया था। यहाँ 3 का एक उदाहरण है, जो मुझे लगता है कि बहुत बेहतर पढ़ता है:
<li ng-class="{myClass: $first, anotherClass: $index == 2}">...</li>
एनजी-रिपीट लूप के माध्यम से पहली बार, क्लास मायक्लास को जोड़ा जाता है। के माध्यम से तीसरी बार ($ इंडेक्स 0 पर शुरू होता है), क्लास में एक और क्लाक जोड़ा जाता है।
एनजी-स्टाइल एक अभिव्यक्ति लेता है जो सीएसएस शैली के नाम के नक्शे / ऑब्जेक्ट का सीएसएस मूल्यों के लिए मूल्यांकन करना चाहिए। उदाहरण के लिए,
<li ng-style="{true: {color: 'red'}, false: {}}[$first]">...</li>
ng-style
अपडेट करना चाहूंगा , लेकिन यह केवल तब मूल्यांकन किया जाना चाहिए जब तत्व पहले प्रदान किया गया हो। (यहां कोणीय नोब)
अद्यतन: कोणीय 1.1.5 ने एक टर्नरी ऑपरेटर जोड़ा, यह उत्तर केवल 1.1.5 से पहले के संस्करणों के लिए सही है। 1.1.5 और बाद के लिए, वर्तमान में स्वीकृत उत्तर देखें।
कोणीय 1.1.5 से पहले:
कोणीयज में एक टर्नरी का रूप है:
((condition) && (answer if true) || (answer if false))
एक उदाहरण होगा:
<ul class="nav">
<li>
<a href="#/page1" style="{{$location.path()=='/page2' && 'color:#fff;' || 'color:#000;'}}">Goals</a>
</li>
<li>
<a href="#/page2" style="{{$location.path()=='/page2' && 'color:#fff;' || 'color:#000;'}}">Groups</a>
</li>
</ul>
या:
<li ng-disabled="currentPage == 0" ng-click="currentPage=0" class="{{(currentPage == 0) && 'disabled' || ''}}"><a> << </a></li>
अब तक हम सभी को पता चला कि संस्करण 1.1.5$parse
फ़ंक्शन में एक उचित टर्नरी के साथ आता है इसलिए फ़िल्टर के उदाहरण के रूप में बस इस उत्तर का उपयोग करें:
angular.module('myApp.filters', [])
.filter('conditional', function() {
return function(condition, ifTrue, ifFalse) {
return condition ? ifTrue : ifFalse;
};
});
और फिर इसका उपयोग करें
<i ng-class="checked | conditional:'icon-check':'icon-check-empty'"></i>
वहाँ यह है: ternary ऑपरेटर को 1.1.5 में कोणीय पार्सर में जोड़ा गया ! चैंज देखें
यहाँ एनजी-क्लास निर्देशन में उपयोग किया जाने वाला नया टर्नरी ऑपरेटर दिखाया गया है।
ng-class="boolForTernary ? 'blue' : 'red'"
यद्यपि आप condition && if-true-part || if-false-part
कोणीय के पुराने संस्करणों में -syntax का उपयोग कर सकते हैं, सामान्य त्रैमासिक ऑपरेटर कोणीय 1.1.5 और बादcondition ? true-part : false-part
में उपलब्ध है ।
<body ng-app="app">
<button type="button" ng-click="showme==true ? !showme :showme;message='Cancel Quiz'" class="btn btn-default">{{showme==true ? 'Cancel Quiz': 'Take a Quiz'}}</button>
<div ng-show="showme" class="panel panel-primary col-sm-4" style="margin-left:250px;">
<div class="panel-heading">Take Quiz</div>
<div class="form-group col-sm-8 form-inline" style="margin-top: 30px;margin-bottom: 30px;">
<button type="button" class="btn btn-default">Start Quiz</button>
</div>
</div>
</body>
बटन टॉगल करें और बटन का हेडर बदलें और डिव पैनल को दिखाएँ / छिपाएँ। प्लंकर को देखें