Я бы рекомендовал использовать двустороннюю привязку с [(ngModel)]
.Вы можете отслеживать изменения выбора с помощью (ngModelChange)
.Чтобы использовать объекты в качестве параметров выбора, значения должны быть установлены с помощью [ngValue]
.
HTML:
<select class="m-1" [(ngModel)]="selectedItem" (ngModelChange)="valueChanged($event)">
<option *ngFor="let item of items" [ngValue]="item">
{{item.name}}
</option>
</select>
Код:
selectedItem: Item;
valueChanged(value: Item) {
console.log('Selection Changed', value);
}
Использование (ngModelChange)
без привязки данных
Привязка событий с (ngModelChange)
также может использоваться без двусторонней привязки данных, но директива ngModel
должна применяться кэлемент для того, чтобы это работало:
<select class="m-1" ngModel (ngModelChange)="valueChanged($event)">
<option *ngFor="let item of items" [ngValue]="item">
{{item.name}}
</option>
</select>