मैं एंगुलर जेएस में सशर्त रूप से एनजी शामिल कैसे कर सकता हूं?
उदाहरण के लिए मैं केवल कुछ को शामिल करना चाहता हूं अगर, चर x
को सेट किया गया है true
।
<div ng-include="/partial.html"></div>
मैं एंगुलर जेएस में सशर्त रूप से एनजी शामिल कैसे कर सकता हूं?
उदाहरण के लिए मैं केवल कुछ को शामिल करना चाहता हूं अगर, चर x
को सेट किया गया है true
।
<div ng-include="/partial.html"></div>
जवाबों:
यदि आप कोणीय v1.1.5 या उसके बाद का उपयोग कर रहे हैं, तो आप एनजी का उपयोग भी कर सकते हैं :
<div ng-if="x" ng-include="'/partial.html'"></div>
यदि आपके पास कोई पुराना संस्करण है:
एनजी-स्विच का उपयोग करें :
<div ng-switch on="x">
<div ng-switch-when="true" ng-include="'/partial.html'"></div>
</div>
आप भी कर सकते हैं
<div ng-include="getInclude()"></div>
अपने कंट्रोलर में
$scope.getInclude = function(){
if(x){
return "partial.html";
}
return "";
}
ng-switch
चिह्नित जवाब मेरे लिए काम नहीं किया।
उत्तरों में से एक का थोड़ा अधिक पठनीय संस्करण। इसके अलावा तत्व ng-include
को null
हटाने के लिए सेटिंग - बस की तरह ng-if
।
<div ng-include="x ? 'true-partial.html' : null"></div>
यदि स्थिति काफी सरल है, तो आप सशर्त तर्क को सीधे एनजी-इन-एक्सप्रेशन में डाल सकते हैं:
<div ng-include="x && 'true-partial.html' || 'false-partial.html'"></div>
ध्यान दें कि अभिव्यक्ति x
एकल उद्धरणों में नहीं है और इसलिए इसका मूल्यांकन किया जाता है। अधिक जानकारी के लिए http://plnkr.co/edit/4fvNDa6Gm3dbVLgsAZrA देखें ।
मुझे एक समान समस्या का सामना करना पड़ा और हो सकता है कि यह खोज किसी की मदद कर सके। मुझे लिंक के क्लिक पर अलग-अलग भाग प्रदर्शित करने होंगे लेकिन एनजी-इफ और एनजी-स्विच दोनों इस परिदृश्य में काम नहीं कर रहे थे (नीचे कोड काम नहीं कर रहा था)।
<button type="button" class="btn btn-link" ng-click="viewType('LIST')">List All</button>
<button type="button" class="btn btn-link" ng-click="viewType('EDIT')">Edit</button>
<button type="button" class="btn btn-link" ng-click="viewType('VIEW')">View</button>
<section class="col-md-8 left-col">
<span ng-if = "LIST">
<div data-ng-include="'./app/view/articles/listarticle.html'">
</span>
<span ng-if = "EDIT">
<div data-ng-include="'./app/view/articles/editorarticle.html'">
</span>
</section>
इसलिए मैंने जो किया, वह एनजी-इफ का उपयोग करने के बजाय, लिंक पर क्लिक करने के लिए केवल आंशिकआर्टिकलयूआरएल (जो नियंत्रक में एक मॉडल है) के मूल्य को अपडेट करें और HTML पर कोड नीचे घोषित करें।
<section class="col-md-8 left-col">
<div data-ng-include="partialArticleUrl">
</section>