Angular 2 ngModelChange выбрать опцию, захватить определенное свойство
У меня есть выпадающая форма выбора в angular 2.
В настоящее время: когда я выбираю параметр, option name
передается в мою функцию onChange
как $event
Требуется: когда я выбираю вариант, я хотел бы передать workout.id
в мою функцию onChange
.
Как я могу это достичь?
<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)">
<option *ngFor="#workout of workouts">{{workout.name}}</option>
</select>
Controller
onChange(value){
alert(JSON.stringify(value));
}
Ответы
Ответ 1
<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)">
<option *ngFor="#workout of workouts" [value]="workout.id">{{workout.name}}</option>
</select>
ИЛИ
<select class="form-control" [(ngModel)]="selectedWorkout" (change)="onChange($event.target.value)">
<option *ngFor="#workout of workouts" [value]="workout.id" >{{workout.name}}</option>
</select>
проверьте это
Ответ 2
вы также можете использовать опцию [ngValue] внутри:
<select class="form-control" [ngModel]="selectedWorkout" (ngModelChange)="onChange($event)">
<option *ngFor="#workout of workouts" [ngValue]="workout">{{workout.name}}</option>
</select>