如果我有一个模型绑定的选择并想要处理更改事件,我是否需要在事件处理程序中传递任何内容-还是应该能够访问模型绑定的值,例如。程序?
<select [(ngModel)]="changeDetails.program" name="program" #program="ngModel" required
class="form-control" (change)="HandleChange(???)">
<option *ngFor="let subProgram of programs" [value]="subProgram.value">
{{subProgram}}</option>
</select>
在组件类中:
HandleChange(???) {
// use model value on class? or parameter?
}
答案 0 :(得分:1)
您可以处理ngModelChange
事件,并将$event
传递给事件处理程序。该参数将具有新的选定值:
(ngModelChange)="HandleChange($event)"
如果由于某种原因您更愿意处理change
DOM事件,则可以用$event.target.value
传递选定的值(因为在这种情况下$event
引用了DOM事件对象):
(change)="HandleChange($event.target.value)"
在两种情况下,事件处理程序都会获取新值:
HandleChange(value) {
console.log("New selected value", value);
}
有关演示,请参见this stackblitz。