Ho un'app Angular 2 che si occupa di clienti e di un punto di appoggio a molla. L'oggetto cliente ha un tipo di cliente, che è anche un oggetto, e ho il menu a discesa sul modulo cliente che funziona in modo che gli oggetti siano memorizzati come valore, tuttavia non riesco a capire come selezionare il tipo di cliente corretto quando un il cliente esistente viene caricato nel modulo.Angular2 opzione selezionata con oggetti
<select class="form-control" required [(ngModel)]="customer.customerType" >
<option *ngFor="let ct of customerTypes" [ngValue]="ct">{{ct.customerType}}</option>
</select>
del frammento precedente se il cliente ha già un tipo di cliente, quindi la discesa non sarà selezionare qualsiasi valore. Mi ricordo di avere lo stesso problema con angular1 che è stato risolto utilizzando ngOptions:
<select ng-model="customer.customerType"
ng-options="customerType.customerType for customerType in customerTypes
track by customerType.customerType" >
</select>
Quindi, la mia domanda è, come replicare il modo in cui Angular1 risolto questo problema in Angular 2
Assegnare il valore predefinito a 'customer.customerType' dovrebbe fare ciò che vuoi. 'ngValue' e' customer.customerType' devono puntare alla stessa istanza dell'oggetto, non solo a due oggetti con lo stesso contenuto. –
Mi ero reso conto che aveva bisogno della stessa istanza di oggetto, piuttosto che di oggetti con lo stesso contenuto, ma mi chiedevo se c'era un modo in cui la selezione poteva essere passata a qualcosa di simile a un comparatore in java parlance, che avrebbe usato per valutare se le istanze dell'oggetto sono le stesse. Ho finito per sostituire l'istanza che viene restituita nella chiamata di resto, con l'oggetto equivalente dalle opzioni di selezione, che sembra davvero goffo. – Drew
Possibile duplicato di [Binding select element to object in Angular 2] (https://stackoverflow.com/questions/35945001/binding-select-element-to-object-in-angular-2) –