এই বিড়ালটির ত্বকের হাজারো উপায়। আমি বুঝতে পেরেছি যে আপনি if {}} এর মধ্যে স্পষ্টতই জিজ্ঞাসা করছেন, তবে অন্যদের জন্য যারা এখানে আসেন, আমি মনে করি এটি অন্যান্য বিকল্পগুলির মধ্যে কিছু প্রদর্শন করা উপযুক্ত।
আপনার $ সুযোগে কাজ করুন (আইএমও, বেশিরভাগ পরিস্থিতিতে এটি আপনার সেরা বাজি):
app.controller('MyCtrl', function($scope) {
$scope.foo = 1;
$scope.showSomething = function(input) {
return input == 1 ? 'Foo' : 'Bar';
};
});
<span>{{showSomething(foo)}}</span>
অবশ্যই এনজি-শো এবং এনজি-হাইড
<span ng-show="foo == 1">Foo</span><span ng-hide="foo == 1">Bar</span>
ngSwitch
<div ng-switch on="foo">
<span ng-switch-when="1">Foo</span>
<span ng-switch-when="2">Bar</span>
<span ng-switch-default>What?</span>
</div>
বার্ট্র্যান্ডের পরামর্শ অনুসারে একটি কাস্টম ফিল্টার। (যদি আপনাকে বারবার একই জিনিস করতে হয় তবে এটি আপনার সেরা পছন্দ)
app.filter('myFilter', function() {
return function(input) {
return input == 1 ? 'Foo' : 'Bar';
}
}
{{foo | myFilter}}
বা একটি কাস্টম নির্দেশ:
app.directive('myDirective', function() {
return {
restrict: 'E',
replace: true,
link: function(scope, elem, attrs) {
scope.$watch(attrs.value, function(v) {
elem.text(v == 1 ? 'Foo': 'Bar');
});
}
};
});
<my-directive value="foo"></my-directive>
ব্যক্তিগতভাবে, বেশিরভাগ ক্ষেত্রে আমি আমার সুযোগে কোনও ফাংশন নিয়ে যাব, এটি মার্কআপটিকে বেশ পরিষ্কার রাখে এবং এটি কার্যকর এবং দ্রুত এবং কার্যকর। যদি না হয়, তবে আপনি বার বার একই একই কাজটি করতে যাচ্ছেন, তবে সেই পরিস্থিতিতে আমি বারট্রেন্ডের পরামর্শ নিয়ে যাব এবং পরিস্থিতি অনুসারে একটি ফিল্টার বা সম্ভবত একটি নির্দেশিকা তৈরি করব।
বরাবরের মতো, সর্বাধিক গুরুত্বপূর্ণ বিষয়টি হল আপনার সমাধানটি বজায় রাখা সহজ এবং আশা করি পরীক্ষামূলক। এবং এটি আপনার নির্দিষ্ট পরিস্থিতির উপর সম্পূর্ণ নির্ভর করবে।