मैं एंगुलर जेएस में सशर्त रूप से एनजी शामिल कैसे कर सकता हूं?
उदाहरण के लिए मैं केवल कुछ को शामिल करना चाहता हूं अगर, चर 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>