से मूल्य प्राप्त करने के लिए कैसे करें कोणीय 2 काम के लिए चयन/विकल्प समाधान का बहुमत इस तरह से है कि हम वास्तविक सामग्री को वापस करते हैं, value
विशेषता नहीं। हालांकि, चूंकि मैं अभी भी कोणीय 2 सीख रहा हूं, इसलिए मैं बटन पर क्लिक करने के लिए वास्तविक value
विशेषता प्राप्त करना चाहता हूं। मैं कुछ हद तक इस मुद्दे को हल करने में कामयाब रहा, लेकिन मुझे यकीन नहीं है कि यह सही दृष्टिकोण है या नहीं।कोणीय 2 - चयन/विकल्प
<select _ngcontent-oom-3="">
<!--template bindings={}-->
<option _ngcontent-oom-3="">stuff 1</option>
<option _ngcontent-oom-3="">stuff 2</option>
<option _ngcontent-oom-3="">stuff 3</option>
</select>
नीचे समाधान:
<select #selectedCategory>
<option *ngFor="#category of categories" [value]="category.id">{{category.name}}</option>
</select>
<button (click)="getValueFromSelect(selectedCategory.value)">
/* This returns the selected category.name, not the value attribute. */
समाधान ऊपर निम्न HTML (option
पर value
विशेषता की कमी पर ध्यान दें) बनाता है: नीचे मैं इसे कैसे काम करना चाहते हैं के उदाहरण है वास्तव में काम करता है, हालांकि, इसे काम करने के लिए मुझे ngModel
की आवश्यकता है।
<select [(ngModel)]="selectedCategory">
<option *ngFor="#category of categories" [value]="category.id">{{category.name}}</option>
</select>
<button (click)="getValueFromSelect(selectedCategory.value)">
/* This returns the value attribute correctly; however, do I really need a ngModel for one value? */
इस स्थिति तक पहुंचने का सही तरीका क्या है?
आपके सुझावों के लिए धन्यवाद।
आपका "मैं इसे कैसे काम करना चाहता हूं" उदाहरण काम करता है: [plunker] (https://plnkr.co/edit/NZc3RWgERx2t2m1HWmCb?p=preview)। यह 'category.id' देता है जो चयनित विकल्प की' मान' संपत्ति को असाइन किया जाता है। मुझे यह दृष्टिकोण पसंद है, क्योंकि यह आपके घटक में कोई संपत्ति नहीं जोड़ता है। –
अच्छी तरह से यह वास्तव में अजीब है, मेरे उदाहरण में जब मैं चयन/विकल्प तत्व का निरीक्षण करता हूं, मेरे पास 'मान' विशेषता नहीं है। मैं मूल रूप से आपके उदाहरण को प्रतिलिपि/चिपकाता हूं - आपके प्लंकर में, यदि आप तत्व का निरीक्षण करते हैं, तो प्रत्येक विकल्प में 'मान' विशेषता होती है जबकि मेरा नहीं होता है। मैं जेनरेट किए गए HTML के साथ अपना मूल प्रश्न अपडेट करूंगा। – uglycode
एंगुलर बीटा का आप किस संस्करण का उपयोग कर रहे हैं? और क्या आपके पास कोई अन्य पुस्तकालय लोड है? –