Ich habe eine Angular 2 App, die mit Kunden und einer Federauflage Back-End beschäftigt. Das Kundenobjekt hat einen Kundentyp, der auch ein Objekt ist, und ich habe die Dropdown-Liste auf dem Kundenformular arbeiten, so dass Objekte als Wert gespeichert werden, aber ich kann nicht herausfinden, wie Sie den richtigen Kundentyp auswählen, wenn ein Der vorhandene Kunde wird in das Formular geladen.Angular2 ausgewählte Option mit Objekten
<select class="form-control" required [(ngModel)]="customer.customerType" >
<option *ngFor="let ct of customerTypes" [ngValue]="ct">{{ct.customerType}}</option>
</select>
In dem obigen Code-Schnipsel, wenn der Kunde bereits einen Kundentyp hat, dann wird der Drop-Down keinen Wert aus. Ich erinnere mich an das gleiche Problem mit angular1, die mit ngOptions gelöst wurde:
<select ng-model="customer.customerType"
ng-options="customerType.customerType for customerType in customerTypes
track by customerType.customerType" >
</select>
Also, meine Frage ist, wie die Art und Weise Angular1 dieses Problem in Angular 2
Wenn Sie dem Kunden customer.customerType den Standardwert zuweisen, sollten Sie das tun, was Sie wollen. 'ngValue' und' customer.customerType' müssen auf dieselbe Objektinstanz verweisen, nicht nur auf zwei Objekte mit demselben Inhalt. –
Ich hatte festgestellt, dass es die gleiche Objektinstanz brauchte, anstatt Objekte mit dem gleichen Inhalt, aber ich fragte mich, ob es eine Möglichkeit gab, dass die Auswahl einem Vergleich im Java-Sprachgebrauch ähnlich war um zu bewerten, ob die Objektinstanzen gleich sind. Am Ende habe ich die Instanz ausgetauscht, die im Rest-Aufruf zurückgegeben wurde, mit dem entsprechenden Objekt aus den Auswahloptionen, das sich wirklich klobig anfühlt. – Drew
Mögliches Duplikat von [Bindung wählen Element zu Objekt in Angular 2] (https://stackoverflow.com/questions/35945001/binding-select-element-to-object-in-angular-2) –