Я хотел бы привязать элемент select к списку объектов, что достаточно просто:
@Component({
   selector: 'myApp',
   template: '<h1>My Application</h1>
              <select [(ngModel)]="selectedValue">
                 <option *ngFor="#c of countries" value="c.id">{{c.name}}</option>
              </select>'
})
export class AppComponent{
    countries = [
       {id: 1, name: "United States"},
       {id: 2, name: "Australia"}
       {id: 3, name: "Canada"},
       {id: 4, name: "Brazil"},
       {id: 5, name: "England"}
     ];
    selectedValue = null;
}
В этом случае кажется, что selectedValue будет числом - идентификатором выбранного элемента.
Тем не менее, я бы на самом деле хотел привязать сам объект страны, чтобы selectedValue был объектом, а не просто идентификатором. Я попытался изменить значение параметра следующим образом:
<option *ngFor="#c of countries" value="c">{{c.name}}</option>
но это не похоже на работу. Кажется, объект помещается в мой selectedValue, но не тот объект, который я ожидаю. Вы можете увидеть это в моем примере с Plunker.
Я также попытался привязаться к событию изменения, чтобы я мог сам установить объект на основе выбранного идентификатора; однако, похоже, что событие изменения срабатывает до того, как обновляется привязанный ngModel - это означает, что у меня нет доступа к вновь выбранному значению в этот момент.
Есть ли чистый способ привязать выбранный элемент к объекту с Angular 2?
