Angularjs (1.1.5 এর নীচে সংস্করণ) if/else
কার্যকারিতা সরবরাহ করে না । আপনি কী অর্জন করতে চান তার জন্য নিম্নলিখিত কয়েকটি বিকল্প বিবেচনা করুন:
( আপনি যদি ১.১.৫ বা তার বেশি সংস্করণ ব্যবহার করেন তবে নীচের আপডেটে যান (# 5 )
1. টার্নারি অপারেটর:
মন্তব্যগুলিতে @ কিরক দ্বারা প্রস্তাবিত হিসাবে, এটি করার সর্বোত্তম উপায় হ'ল একটি টার্নারি অপারেটরটি নিম্নরূপ ব্যবহার করা:
<span>{{isLarge ? 'video.large' : 'video.small'}}</span>
নিম্নলিখিত মত কিছু ব্যবহার করা যেতে পারে।
<div ng-switch on="video">
<div ng-switch-when="video.large">
<!-- code to render a large video block-->
</div>
<div ng-switch-default>
<!-- code to render the regular video block -->
</div>
</div>
বিকল্পভাবে, আপনি এটি ব্যবহার করতে পারেন ng-show/ng-hide
তবে এটি ব্যবহার করা আসলে একটি বড় ভিডিও এবং একটি ছোট ভিডিও উপাদান উভয়েরই রেন্ডার করে এবং তারপরে ng-hide
শর্তটি পূরণ করে এমন একটিটি লুকিয়ে রাখে এবং শর্ত পূরণ করে এমন একটি দেখায় ng-show
। সুতরাং প্রতিটি পৃষ্ঠায় আপনি আসলে দুটি ভিন্ন উপাদান রেন্ডারিং করা হবে।
৪. বিবেচনার জন্য আরেকটি বিকল্প হ'ল ng-class
নির্দেশনা।
এটি নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে।
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
উপরেরটি মূলত ডিভ large-video
উপাদানটিতে একটি সিএসএস শ্রেণি যুক্ত করবে যদি video.large
সত্যবাদী হয়।
৫. ng-if
নির্দেশ:
উপরের সংস্করণগুলিতে 1.1.5
আপনি ng-if
নির্দেশটি ব্যবহার করতে পারেন । অভিব্যক্তিটি প্রদান করে false
এবং এক্সপ্রেশনটি যদি ফিরে আসে element
তবে DOM- এ পুনরায় সন্নিবেশ করায় এটি উপাদানটিকে সরিয়ে ফেলবে true
। নিম্নলিখিত হিসাবে ব্যবহার করা যেতে পারে।
<div ng-if="video == video.large">
<!-- code to render a large video block-->
</div>
<div ng-if="video != video.large">
<!-- code to render the regular video block -->
</div>