2016-08-25 80 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一起使用時這可能會導致問題的定時差異。