दिलचस्प पोस्ट
नियमित अभिव्यक्ति में कैरेट्स वैश्विक रूप से एक WPF अनुप्रयोग में अपवाद पकड़? वैश्विक चर को खराब व्यवहार क्यों माना जाता है? एक्स, वाई एक्सिस-जेफ्री चार्ट के लिए रेंज सेट करना पायथन में '@ =' प्रतीक क्या है? 12-घंटे hh परिवर्तित करें: मिमी AM / PM को 24 घंटे hh: mm दृश्यमान बदलें लेकिन ग्राहकों को नॉकआउट.जेएस में सूचित नहीं करें स्विफ्ट – एक स्ट्रिंग में एक गणित ऑपरेशन का समाधान आर + जीजीप्लोट: एकाधिक पृष्ठों पर प्लॉटिंग एंड्रॉइड लॉग। V (), लॉग डी (), लॉग.आई (), लॉग। W (), लॉग.ई () – प्रत्येक का उपयोग कब किया जाता है? एनीमेशन UITableView startupdates / endupdates पर समाप्त हो गया है कि कैसे पता लगाने के लिए? इसमें फाइल के साथ निर्देशिका हटाएं? ASP.NET एमवीसी – रीडायरेक्ट टीओएक्शन में मॉडलस्टेट की त्रुटियां कैसे सुरक्षित रखी जाती हैं? इनपुट आकार बनाम चौड़ाई उपज () के मुख्य उपयोग क्या हैं, और यह कैसे शामिल होने से भिन्न होता है () और बीच में ()?

मैं कोने 2 में "चयन" में नया चयन कैसे प्राप्त करूं?

मैं कांगारु 2 (टाइपस्क्रिप्ट) का उपयोग कर रहा हूँ

मैं नए चयन के लिए कुछ करना चाहता हूं, परन्तु मेरे पास क्या परिवर्तन है () हमेशा आखिरी चयन होता है मैं नया चयन कैसे प्राप्त करूं?

<select [(ngModel)]="selectedDevice" (change)="onChange($event)"> <option *ngFor="#i of devices">{{i}}</option> </select> onChange($event) { console.log(this.selectedDevice); // I want to do something here for new selectedDevice, but what I // got here is always last selection, not the one I just select. } 

वेब के समाधान से एकत्रित समाधान "मैं कोने 2 में "चयन" में नया चयन कैसे प्राप्त करूं?"

यदि आपको दो-तरफा डेटा-बाध्यकारी आवश्यकता नहीं है:

 <select (change)="onChange($event.target.value)"> <option *ngFor="let i of devices">{{i}}</option> </select> onChange(deviceValue) { console.log(deviceValue); } 

दो-तरफ़ा डेटा बाध्यकारी के लिए, ईवेंट और संपत्ति बाइंडिंग अलग करें:

 <select [ngModel]="selectedDevice" (ngModelChange)="onChange($event)" name="sel2"> <option [value]="i" *ngFor="let i of devices">{{i}}</option> </select> 
 export class AppComponent { devices = 'one two three'.split(' '); selectedDevice = 'two'; onChange(newValue) { console.log(newValue); this.selectedDevice = newValue; // ... do other stuff here ... } 

अगर devices ऑब्जेक्ट्स की सरणी है, तो value बजाय ngValue बाइंड करें:

 <select [ngModel]="selectedDeviceObj" (ngModelChange)="onChangeObj($event)" name="sel3"> <option [ngValue]="i" *ngFor="let i of deviceObjects">{{i.name}}</option> </select> {{selectedDeviceObj | json}} 
 export class AppComponent { deviceObjects = [{name: 1}, {name: 2}, {name: 3}]; selectedDeviceObj = this.deviceObjects[1]; onChangeObj(newObj) { console.log(newObj); this.selectedDeviceObj = newObj; // ... do other stuff here ... } } 

प्लंकर – का उपयोग नहीं करता <form>
प्लंकर<form> का उपयोग करता है और नए फॉर्म एपीआई का उपयोग करता है

आप टैग को संदर्भ टैग #device पर एक संदर्भ चर बनाकर घटक में वापस कर सकते हैं और इसे बदल हेन्डलर onChange($event, device.value) में नया मान होना चाहिए

 <select [(ng-model)]="selectedDevice" #device (change)="onChange($event, device.value)"> <option *ng-for="#i of devices">{{i}}</option> </select> onChange($event, deviceValue) { console.log(deviceValue); } 

बस [मूल्य] के बजाय [ngValue] का उपयोग करें !!

 export class Organisation { description: string; id: string; name: string; } export class ScheduleComponent implements OnInit { selectedOrg: Organisation; orgs: Organisation[] = []; constructor(private organisationService: OrganisationService) {} get selectedOrgMod() { return this.selectedOrg; } set selectedOrgMod(value) { this.selectedOrg = value; } } <div class="form-group"> <label for="organisation">Organisation <select id="organisation" class="form-control" [(ngModel)]="selectedOrgMod" required> <option *ngFor="let org of orgs" [ngValue]="org">{{org.name}}</option> </select> </label> </div> 

मैं इस समस्या में भाग गया जबकि एंगुलर 2 फॉर्म ट्यूटोरियल (टाइपस्क्रिप्ट संस्करण) करते हुए https://angular.io/docs/ts/latest/guide/forms.html पर

चयन / विकल्प ब्लॉक विकल्पों में से एक का चयन करके चयन के मूल्य को परिवर्तित करने की अनुमति नहीं दे रहा था।

मार्क राजकोक ने काम करने का सुझाव दिया, हालांकि मैं सोच रहा हूं कि मूल ट्यूटोरियल में मुझे कुछ याद आ गया है या कोई अपडेट हुआ है या नहीं। किसी भी मामले में, जोड़ने

 onChange(newVal) { this.model.power = newVal; } 

HeroFormComponent क्लास में नायक-फ़ॉर्म

तथा

 (change)="onChange($event.target.value)" 

<select> तत्व में hero-form.component.html को यह काम किया है

एक अन्य विकल्प ऑब्जेक्ट को स्ट्रिंग के रूप में संग्रहीत करना है:

 <select [ngModel]="selectedDevice | json" (ngModelChange)="onChange($event)"> <option [value]="i | json" *ngFor="let i of devices">{{i}}</option> </select> 

घटक:

 onChange(val) { this.selectedDevice = JSON.parse(val); } 

यह एकमात्र तरीका था जिसे मैं पृष्ठ लोड पर चयन मान सेट करने के लिए दो तरह से बाध्यकारी कार्य कर सकता था। ऐसा इसलिए था क्योंकि मेरी सूची जो चयन बॉक्स को पॉप्युलेट करती है वह सटीक समान ऑब्जेक्ट नहीं थी, क्योंकि मेरा चयन बाध्य था और यह उसी ऑब्जेक्ट की आवश्यकता नहीं है, न कि केवल संपत्ति गुण।

नवीनतम आयनिक 3.2.0 ने संशोधित (परिवर्तन) से (आयन बदलें)

जैसे: एचटीएमएल

 <ion-select (ionChange)="function($event)"> <ion-option>1<ion-option> </ion-select> 

टीएस

 function($event){ // this gives the selected element console.log($event); }