मैं ngAttr का उपयोग कर सशर्त रूप से एक सरल निर्देश लागू करना चाहता हूं। मुझे समझ में नहीं आता कि मेरा निर्देश हमेशा क्यों प्रदर्शित होता है। तो अगर मेरे पास अपरिभाषित/झूठा वैरिएबल है, तो मैं अपना निर्देश लागू करना चाहता हूं: dirr।AngularJS में सशर्त रूप से निर्देश कैसे लागू करें?
ngAttr, $ के allOrNothing ध्वज का उपयोग करते हैं, को जोड़ प्रयोग किया जाता है, इसलिए यदि अपरिभाषित में अंतर्वेशित स्ट्रिंग परिणामों में किसी भी अभिव्यक्ति, विशेषता निकाल दिया जाता है और तत्व को नहीं जोड़ा गया।
<div ng-app="myApp" ng-controller="MainController" class="container-fluid">
<h2 ng-bind="currentVersion"></h2>
<hr>
<div ng-attr-dirr="hidden || undefined">Default div</div>
</div>
angular.module('myApp',[])
.directive('dirr', function(){
return {
restrict:'AE',
template:'<div>Div from directive</div>'
}
})
.controller('MainController',['$scope', function($scope){
$scope.currentVersion = 'Angular 1.3.6';
$scope.hidden = undefined;
}])
;
FYI करें आप अपने खुद के चर नामकरण से बचना चाहिए, निर्देश 'आदि' नामस्थान ('$ scope.ngVar') के तहत। कोर कोणीय घटकों के लिए Thats और भविष्य के डेवलपर्स के लिए भ्रम पैदा कर सकता है। – ste2425
@ ste2425 यह एक तेज़ उदाहरण है, कृपया विषय पर रहें !! – que1326
वह कहते हैं "एफवाईआई" साइड नोट के रूप में, "मैं विषय पर हूं" नहीं! –