在绑定模型的选择更改中作为参数传递的内容(如果有)?

时间:2019-05-15 15:58:32

标签: angular

如果我有一个模型绑定的选择并想要处理更改事件,我是否需要在事件处理程序中传递任何内容-还是应该能够访问模型绑定的值,例如。程序?

    <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?
    }

1 个答案:

答案 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