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>