আমাদের একাধিক এনজি-ক্লাস যুক্ত করার জন্য একাধিক অভিব্যক্তি থাকতে পারে?
যেমন।
<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>
যদি হ্যাঁ তবে কেউ উদাহরণস্বরূপ এটি করতে পারেন।
।
আমাদের একাধিক এনজি-ক্লাস যুক্ত করার জন্য একাধিক অভিব্যক্তি থাকতে পারে?
যেমন।
<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>
যদি হ্যাঁ তবে কেউ উদাহরণস্বরূপ এটি করতে পারেন।
।
উত্তর:
যখন বিভিন্ন এক্সপ্রেশন মূল্যায়ন করে তখন বিভিন্ন ক্লাস প্রয়োগ করতে true
:
<div ng-class="{class1 : expression1, class2 : expression2}">
Hello World!
</div>
যখন কোনও অভিব্যক্তিটি সত্য ধরে রাখে তখন একাধিক ক্লাস প্রয়োগ করতে:
<!-- notice expression1 used twice -->
<div ng-class="{class1 : expression1, class2 : expression1}">
Hello World!
</div>
বা বেশ সহজভাবে:
<div ng-class="{'class1 class2' : expression1}">
Hello World!
</div>
সিএসএস ক্লাসের চারপাশে একক উদ্ধৃতি লক্ষ্য করুন।
'class1 class2': expression
) ভাল কাজ করে বলে মনে হচ্ছে, আপনি যদি কোনও ক্লাস পুনরায় ব্যবহার করেন তবে এক্সপ্রেশনটি বিকল্পগুলির মধ্যে টগল হয়ে গেলে তা বাদ দেওয়া হয়। উদাহরণস্বরূপ, 'commonClass class1': expression == true, 'commonClass class2': expression == false
কমনক্লাসের সাথে এক্সপ্রেশনটি সত্য এবং মিথ্যার মধ্যে টগল হওয়ায় হারিয়ে গেছে।
class="commonClass" ng-class={'class1' : expression, 'class2' : !expression}
ng-class="{'class1' : expression1, 'class2':expression1 }"
সম্ভব? : আপনি আমার প্রশ্নের দিকে তাকিয়ে মনে করবে stackoverflow.com/questions/25391692/...
টেরিনারি অপারেটর স্বরলিপি জন্য:
<div ng-class="expression1? 'class1 class2' : 'class3 class4'">
ng-class="[expression1? 'class1 class2' : 'class3 class4', expression2 ? 'class5' : 'class6']"
হ্যাঁ আপনি এনজি-ক্লাসে একাধিক ক্লাস যুক্ত করতে একাধিক অভিব্যক্তি রাখতে পারেন।
উদাহরণ স্বরূপ:
<div ng-class="{class1:Result.length==2,class2:Result.length==3}"> Dummy Data </div>
এখানে অন্যান্য উত্তরের একটি অবিশ্বাস্যভাবে শক্তিশালী বিকল্প:
ng-class="[ { key: resulting-class-expression }[ key-matching-expression ], .. ]"
কিছু উদাহরণ:
১. ডিভের জন্য কেবল 'শ্রেণী 1 শ্রেণি 2 শ্রেণী 3' যুক্ত করুন:
<div ng-class="[{true: 'class1'}[true], {true: 'class2 class3'}[true]]"></div>
২ $ সূচকের উপর নির্ভর করে ডিভের জন্য 'বিজোড়' বা 'সম' শ্রেণি যুক্ত করে:
<div ng-class="[{0:'even', 1:'odd'}[ $index % 2]]"></div>
৩. গতিশীলভাবে div সূচকের উপর ভিত্তি করে প্রতিটি ডিভের জন্য একটি শ্রেণি তৈরি করে
<div ng-class="[{true:'index'+$index}[true]]"></div>
এর $index=5
ফলস্বরূপ:
<div class="index5"></div>
আপনি চালাতে পারেন এমন একটি কোড নমুনা এখানে:
var app = angular.module('app', []);
app.controller('MyCtrl', function($scope){
$scope.items = 'abcdefg'.split('');
});
.odd { background-color: #eee; }
.even { background-color: #fff; }
.index5 {background-color: #0095ff; color: white; font-weight: bold; }
* { font-family: "Courier New", Courier, monospace; }
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<div ng-app="app" ng-controller="MyCtrl">
<div ng-repeat="item in items"
ng-class="[{true:'index'+$index}[true], {0:'even', 1:'odd'}[ $index % 2 ]]">
index {{$index}} = "{{item}}" ng-class="{{[{true:'index'+$index}[true], {0:'even', 1:'odd'}[ $index % 2 ]].join(' ')}}"
</div>
</div>
ng-class
নির্দেশাবলীর জন্য ফাংশন ব্যবহার করেছি , যেমন যখন আমার যখন একই উপাদানটিতে একটি ত্রৈমাসিক এবং একটি স্ট্যান্ডার্ড এক্সপ্রেশন প্রয়োগ করা প্রয়োজন তখন। আমি এক্সপ্রেশনের অ্যারে ব্যবহার অন্তর্ভুক্ত করার জন্য গ্রহণযোগ্য উত্তরে একটি সম্পাদনা জমা দিয়েছি।
[{true:'index'+$index}[true], {0:'even', 1:'odd'}[ $index % 2 ]]
নির্মাণটি: এর মতো সরলীকৃত হতে পারে ['index'+$index, {0:'even', 1:'odd'}[ $index % 2 ]]
। আমি এটি মাত্র কৌনিক 1.5.9 এ চেষ্টা করেছি এবং এটি কাজ করে :) দুর্দান্ত উত্তরের জন্য ধন্যবাদ!
$scope
কন্ট্রোলারে একটি পদ্ধতি ব্যবহার করে , আপনি গণনা করতে পারবেন কোন ক্লাসে ভিউ আউটপুট করা যায়। শ্রেণীর নাম গণনা করার জন্য যদি আপনার কাছে জটিল যুক্তি থাকে এবং এটি নিয়ামককে স্থানান্তরিত করে এটি আপনার দৃষ্টিতে যুক্তির পরিমাণ হ্রাস করবে: এটি বিশেষত সহজলভ্য:
app.controller('myController', function($scope) {
$scope.className = function() {
var className = 'initClass';
if (condition1())
className += ' class1';
if (condition2())
className += ' class2';
return className;
};
});
এবং দৃষ্টিতে, সহজভাবে:
<div ng-class="className()"></div>
className
?
ng-
কোন শ্রেণিটি ব্যবহার করতে হবে তা নির্ধারণ করার জন্য এটি HTML বাইন্ডিংগুলির উপর নির্ভর করে ।
className
।
আপনার উদাহরণ কন্ডিশনড ক্লাসগুলির জন্য কাজ করে (শ্রেণীর নামটি expressionDataX
সত্য হলে তা প্রদর্শিত হবে ):
<div ng-class="{class1: expressionData1, class2: expressionData2}"></div>
আপনি উপাদানটির ব্যবহারকারীর দ্বারা সরবরাহিত একাধিক ক্লাস যুক্ত করতে পারেন:
<div ng-class="[class1, class2]"></div>
ব্যবহার:
<div class="foo bar" class1="foo" class2="bar"></div>
{}
এবং ডেটা-বন্ড ক্লাস ব্যবহার করে []
?
ngClass
কোনও উপাদানের উপর দুটি নির্দেশনা রাখা সম্ভব নয় ।
<a href="#/u/[[msg.from]]" ng-bind="msg.from" class="name, ng-class:[users[msg.from].nice, users[msg.from].star];" ng-class="{premium: users[msg.from].premium}"></a>
এবং আরও: scotch.io/tutorials/ javascript
এখানে OR ব্যবহার করে একাধিক কৌণিক-ইউআই-রাউটারের রাজ্যের তুলনা করার একটি উদাহরণ রয়েছে অপারেটর:
<li ng-class="
{
warning:
$state.includes('out.pay.code.wrong')
|| $state.includes('out.pay.failed')
,
active:
$state.includes('out.pay')
}
">
এটি লি ক্লাসগুলিকে সতর্কতা এবং / অথবা সক্রিয় করবে, শর্তগুলি মেটানো হয়েছে কিনা তার উপর নির্ভর করে।
সক্রিয় এবং অ্যাক্টিভেনু নীচে ক্লাস এবং আইটেমকাউন্ট এবং শোকার্টটি হল এক্সপ্রেশন / বুলিয়ান মান।
ng-class="{'active' : itemCount, 'activemenu' : showCart}"
Scotch.io এর জন্য অন্য একটি উপায় খুঁজে পাওয়া যায়
<div ng-repeat="step in steps" class="step-container step" ng-class="[step.status, step.type]" ng-click="onClick(step.type)">
এটি আমার রেফারেন্স ছিল। পাথ
"একাধিক শ্রেণি ব্যবহার করে" নিয়ন্ত্রণ করতে আমরা কোনও ফাংশন তৈরি করতে পারি
সিএসএস
<style>
.Red {
color: Red;
}
.Yellow {
color: Yellow;
}
.Blue {
color: Blue;
}
.Green {
color: Green;
}
.Gray {
color: Gray;
}
.b {
font-weight: bold;
}
</style>
লিপি
<script>
angular.module('myapp', [])
.controller('ExampleController', ['$scope', function ($scope) {
$scope.MyColors = ['It is Red', 'It is Yellow', 'It is Blue', 'It is Green', 'It is Gray'];
$scope.getClass = function (strValue) {
if (strValue == ("It is Red"))
return "Red";
else if (strValue == ("It is Yellow"))
return "Yellow";
else if (strValue == ("It is Blue"))
return "Blue";
else if (strValue == ("It is Green"))
return "Green";
else if (strValue == ("It is Gray"))
return "Gray";
}
}]);
</script>
এটি ব্যবহার করছি
<body ng-app="myapp" ng-controller="ExampleController">
<h2>AngularJS ng-class if example</h2>
<ul >
<li ng-repeat="icolor in MyColors" >
<p ng-class="[getClass(icolor), 'b']">{{icolor}}</p>
</li>
</ul>
উদাহরণস্বরূপ আপনি এনজি-ক্লাসে সম্পূর্ণ কোড পৃষ্ঠাটি উল্লেখ করতে পারেন