У меня есть приложение Angular 2, которое имеет дело с клиентами и задним концом пружинного упора. Объект клиента имеет тип клиента, который также является объектом, и у меня есть раскрывающаяся форма для клиента, работающая так, чтобы объекты сохранялись как значение, однако я не могу понять, как выбрать правильный тип клиента, когда существующий клиент загружается в форму.Angular2 выбранный вариант с объектами
<select class="form-control" required [(ngModel)]="customer.customerType" >
<option *ngFor="let ct of customerTypes" [ngValue]="ct">{{ct.customerType}}</option>
</select>
В приведенном выше фрагменте, если клиент уже имеет тип клиента, выпадающее меню не будет выбирать какое-либо значение. Я помню, с той же проблемой с angular1, которая была решена с помощью ngOptions:
<select ng-model="customer.customerType"
ng-options="customerType.customerType for customerType in customerTypes
track by customerType.customerType" >
</select>
Итак, мой вопрос, как повторить путь Angular1 решить эту проблему в угловом 2
Просто присваивание значения по умолчанию 'customer.customerType' должно делать то, что вы хотите. 'ngValue' и' customer.customerType' должны указывать на один и тот же экземпляр объекта, а не только на два объекта с одним и тем же контентом. –
Я понял, что ему нужен один и тот же экземпляр объекта, а не объекты с одним и тем же контентом, но мне было интересно, есть ли способ, с помощью которого select может быть передан что-то похожее на сравнителя на языке java, что он будет использовать для оценки того, являются ли экземпляры объектов одинаковыми. Я закончил тем, что заменил экземпляр, который возвращается в остальном вызове, с эквивалентным объектом из вариантов выбора, который чувствует себя действительно неуклюжим. – Drew
Возможный дубликат [Элемент выбора привязки к объекту в Угловом 2] (https://stackoverflow.com/questions/35945001/binding-select-element-to-object-in-angular-2) –