मुझे गतिशील रूप से चेकबॉक्स की एक सूची बनाना है, इसलिए मैंने ऑब्जेक्ट्स की सरणी को फिर से चालू करने के लिए * ngFor का उपयोग किया है, सब कुछ पुनरावृत्ति तक ठीक काम कर रहा है। समस्या तब होती है जब मैं लेबल टैग में for
विशेषता का मान सेट करता हूं। कोणीय त्रुटि फेंक दिया गया है:'के लिए बाध्य नहीं हो सकता है क्योंकि यह ज्ञात मूल संपत्ति angular2
'के लिए' करने के लिए बाध्य नहीं किया जा सकता, क्योंकि यह एक ज्ञात देशी संपत्ति angular2
नया त्रुटि संदेश
बिना क्रिया वादा अस्वीकृति नहीं है: खाका पार्स त्रुटियां: 'के लिए' नहीं बंधी जा सकती क्योंकि यह 'लेबल' की ज्ञात संपत्ति नहीं है। http://plnkr.co/edit/aAQfWvHc7h7IBuYzpItO?p=preview
यहाँ क्या गलत मेरी कोड में:
<div *ngFor="#batch of batch_array">
<label for="{{batch.id}}"><input type="checkbox" [value]="batch.id" id="{{batch.id}}"
(click)="batchSelectedEevent(batch.id)" /> {{batch.batch_name}}
</label>
</div>
यहाँ मेरी plnkr त्रुटि दिखा रहा है?
वाह यह ठीक धन्यवाद काम करता है! क्या मुझे पता चलेगा कि 'attr 'के बजाय' attr.for' में 'attr' का उपयोग क्यों करें? –
'attr.for' के साथ आपको बाध्यकारी विशेषता को स्पष्ट रूप से चुनना होगा क्योंकि विशेषता बाध्यकारी महंगा है। गुण डीओएम में परिलक्षित होते हैं और बदलावों के लिए उदाहरण की आवश्यकता होती है कि यह जांचने के लिए कि क्या सीएसएस चयनकर्ता पंजीकृत हैं जो इस विशेषता सेट के साथ मेल खाते हैं। संपत्ति बाध्यकारी केवल जेएस और सस्ता है, इसलिए डिफ़ॉल्ट। –
"संपत्ति बाध्यकारी केवल जेएस है"। मैं इतना नहीं कहूंगा। ऐसी कुछ विशेषताएं हैं जिनके पास समान गुण नहीं हैं - उदाहरण के लिए, भारी उपयोग की जाने वाली 'टेक्स्ट सामग्री' संपत्ति - इसलिए इन गुणों के लिए बाध्यकारी भी परिणामस्वरूप डीओएम अपडेट किया जा रहा है। –