উত্তর:
আপডেট : কৌণিক 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]
উপরের আইটেম ২ দুটি বৈশিষ্ট্যযুক্ত একটি বস্তু তৈরি করে। অ্যারের সিনট্যাক্সটি হয় সত্যের নামে সম্পত্তি বা মিথ্যা নামযুক্ত সম্পত্তি নির্বাচন করতে এবং যুক্ত মানটি ফেরত দিতে ব্যবহৃত হয়।
যেমন,
<li class="{{{true: 'myClass1 myClass2', false: ''}[$first]}}">...</li>
or
<li ng-class="{true: 'myClass1 myClass2', false: ''}[$first]">...</li>
element প্রথম উপাদানটির জন্য এনজি-রিপিটের ভিতরে প্রথমে সত্যে সেট করা থাকে, সুতরাং উপরেরটি লুপের মাধ্যমে 'মাই ক্লাস 1' এবং 'মাই ক্লাস 2' কেবল প্রথমবার প্রয়োগ করবে।
এনজি-ক্লাসের সাথে আরও সহজ উপায় রয়েছে যদিও: এনজি-ক্লাস একটি অভিব্যক্তি গ্রহণ করে যা নিম্নলিখিত নীচের একটিতে মূল্যায়ন করতে হবে:
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>
এখন অবধি আমরা সকলেই খুঁজে পেয়েছি সংস্করণ ১.১.৫ এ ফাংশনটিতে একটি সঠিক ত্রিনিয়ারী আসে $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>
এটি এখানে রয়েছে: টেরিনারি অপারেটর 1.1.5 তে কৌনিক পার্সারে যুক্ত হয়েছিল ! পরিবর্তন দেখুন
এনজি-ক্লাসের নির্দেশিকায় ব্যবহৃত নতুন টার্নারি অপারেটরটি দেখানো একটি ফ্রিডল এখানে ।
ng-class="boolForTernary ? 'blue' : 'red'"
আপনি ব্যবহার করতে পারেন যদিও condition && if-true-part || if-false-part
কৌণিক পুরোনো সংস্করণে -syntax স্বাভাবিক তিন অপারেটর condition ? true-part : false-part
পাওয়া যায় কৌণিক 1.1.5 এবং পরে ।
<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>
বাটন টগল করুন এবং বোতামের শিরোনাম পরিবর্তন করুন এবং ডিভিডি প্যানেলটি লুকান / দেখান। Plunkr দেখুন