Saya ingin mengikat elemen pilih ke daftar objek - yang cukup mudah:
@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;
}
Dalam hal ini, tampaknya itu selectedValue
akan menjadi nomor - id dari item yang dipilih.
Namun, saya sebenarnya ingin mengikat objek negara itu sendiri sehingga selectedValue
objeknya bukan hanya id. Saya mencoba mengubah nilai opsi seperti:
<option *ngFor="#c of countries" value="c">{{c.name}}</option>
tapi ini sepertinya tidak berhasil. Tampaknya menempatkan objek di saya selectedValue
- tetapi bukan objek yang saya harapkan. Anda dapat melihat ini dalam contoh Plunker saya .
Saya juga mencoba mengikat ke acara perubahan sehingga saya bisa mengatur sendiri objek berdasarkan id yang dipilih; Namun, tampaknya acara perubahan diaktifkan sebelum ngModel terikat diperbarui - artinya saya tidak memiliki akses ke nilai yang baru dipilih pada saat itu.
Apakah ada cara bersih untuk mengikat elemen pilih ke objek dengan Angular 2?