2016-08-25 65 views
2

我是新来Angular2,并在样品工作,学习的概念了解Angular2改变事件

下面是我的部分示例代码,

... 
.... 
<select name="mExp" [(ngModel)]="model.exp" (change)="expChange($event.target.value)"> 
<option *ngFor="let exp of modelExps" [value]="exp.Name">{{exp.Value}} </option> 
</select> 
... 
... 

.... 
.... 
expChange(newExp: string) { 
    this.model.exp = newExp; 
    console.log(this.model); 
} 
... 
.... 

简单地说,当用户在下拉列表中选择一个选项,选定的值 被分配给“this.model.exp”,如果我需要根据“newExp”的某个值取消赋值 该怎么办。

回答

1

您可以分割结合

<select name="mExp" [ngModel]="model.exp" (ngModelChange)="$event === 3 ? expChange($event) : null"> 

使用ngModelChange通常是更好的,因为有当change<select>本地事件)和ngModelChange发射与ngModel一起使用时这可能会导致问题的定时差异。