एक HTML तत्व प्रकार प्रदान div
किया गया है id
, इसकी विशेषता का मान कैसे सेट करें , जो एक स्कोप वैरिएबल और एक स्ट्रिंग का संयोजन है?
एक HTML तत्व प्रकार प्रदान div
किया गया है id
, इसकी विशेषता का मान कैसे सेट करें , जो एक स्कोप वैरिएबल और एक स्ट्रिंग का संयोजन है?
जवाबों:
ngAttr
निर्देश पूरी तरह से यहां मदद का हो सकता है, जैसा कि आधिकारिक दस्तावेज में पेश किया गया है
https://docs.angularjs.org/guide/interpolation#-ngattr-for-binding-to-arbitrary-attributes
उदाहरण के लिए, id
किसी div
तत्व का गुण मान सेट करने के लिए , ताकि उसमें एक अनुक्रमणिका हो, एक दृश्य टुकड़ा हो सकता है
<div ng-attr-id="{{ 'object-' + myScopeObject.index }}"></div>
जिसके लिए प्रक्षेपित किया जाएगा
<div id="object-1"></div>
myScopeObject
कि scope
एक नियंत्रक का उपयोग करके उजागर की गई वस्तु की एक संपत्ति है । कृपया docs.angularjs.org/guide/controller भी देखें । क्या यह आपके लिए पर्याप्त स्पष्ट है या मैं आगे विस्तार करूंगा?
<div id="{{ 'object' + index }}">
और <div ng-attr-id="{{ 'object' + index }}">
? डॉक्स का कहना है कि प्रीपेडिंग ng-attr-
उन मामलों के लिए मदद करना है जहां तत्व कुछ गैर-मानक है, जैसे कि ए नहीं <div>
। क्या मैं डॉक्स सही पढ़ रहा हूं?
इस बात ने मेरे लिए बहुत अच्छा काम किया:
<div id="{{ 'object-' + $index }}"></div>
ng-attr-id
0% स्थितियों में लाभप्रद है। कोई उदाहरण नहीं दिया जा सकता है, क्योंकि कोई भी नहीं है।
ng-attr-id
विधि सुनिश्चित करना है कि कच्चे एनजी अभिव्यक्ति (उदाहरण के लिए एक वैध HTML विशेषता में प्रदान की गई कभी नहीं किया जाता है id
, label
, आदि)। यह 'जंक' पढ़ने के किसी भी बहाव के उपयोग को रोकने के लिए है (जैसे कि रेंडर पूरा होने से पहले, या एक जे एस दुर्घटना के बाद)
मामले में आप इस सवाल पर आए लेकिन नए कोणीय संस्करण> = 2.0 से संबंधित ।
<div [id]="element.id"></div>
इस व्यवहार को प्राप्त करने का एक और सुंदर तरीका है:
<div id="{{ 'object-' + myScopeObject.index }}"></div>
मेरे कार्यान्वयन के लिए, मैं चाहता था कि प्रत्येक इनपुट तत्व एनजी-रिपीट में प्रत्येक के साथ लेबल को संबद्ध करने के लिए एक अद्वितीय आईडी हो। तो myScopeObjects के अंदर समाहित वस्तुओं की एक सरणी के लिए यह कर सकता है:
<div ng-repeat="object in myScopeObject">
<input id="{{object.name + 'Checkbox'}}" type="checkbox">
<label for="{{object.name + 'Checkbox'}}">{{object.name}}</label>
</div>
गतिशील रूप से इस तरह की सामग्री को जोड़ने पर मक्खी पर अद्वितीय आईडी उत्पन्न करने में सक्षम होना बहुत उपयोगी हो सकता है।
केवल <input id="field_name_{{$index}}" />
यदि आप इस सिंटैक्स का उपयोग करते हैं:
<div ng-attr-id="{{ 'object-' + myScopeObject.index }}"></div>
कोणीय कुछ इस तरह प्रस्तुत करेगा:
<div ng-id="object-1"></div>
हालाँकि यह वाक्य रचना:
<div id="{{ 'object-' + $index }}"></div>
कुछ ऐसा उत्पन्न करेगा:
<div id="object-1"></div>
ng-attr-id
बनाना चाहिए ng-id
..? यह गलत है। मुझे आश्चर्य है कि कौन इसे आगे बढ़ाता है
myScopeObject
से आता है? मैं इसे कहां परिभाषित करूंगा?