Angularjs (1.1.5 से नीचे के संस्करण) if/else
कार्यक्षमता प्रदान नहीं करते हैं। आप क्या हासिल करना चाहते हैं, इस पर विचार करने के लिए कुछ विकल्प निम्नलिखित हैं:
( यदि आप संस्करण १.१.५ या अधिक का उपयोग कर रहे हैं, तो नीचे (# ५) अपडेट करें )
1. टर्नरी ऑपरेटर:
जैसा कि टिप्पणियों में @Kirk द्वारा सुझाया गया है, इसे करने का सबसे साफ तरीका निम्नानुसार एक टर्नरी ऑपरेटर का उपयोग करना होगा:
<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
। इसलिए प्रत्येक पृष्ठ पर आप वास्तव में दो अलग-अलग तत्वों का प्रतिपादन करेंगे।
4. विचार करने का एक अन्य विकल्प ng-class
निर्देशात्मक है।
इसका उपयोग निम्नानुसार किया जा सकता है।
<div ng-class="{large-video: video.large}">
<!-- video block goes here -->
</div>
ऊपर मूल रूप से सत्य large-video
होने पर div तत्व में css क्लास जोड़ देगा video.large
।
5. ng-if
निर्देश:
ऊपर दिए गए संस्करणों में 1.1.5
आप ng-if
निर्देश का उपयोग कर सकते हैं । यह तत्व को हटा देगा यदि अभिव्यक्ति डोम में रिटर्न प्रदान करती है false
और फिर से सम्मिलित करती element
है यदि अभिव्यक्ति वापस आती है 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>