从select更改值时不触发ngOnChanges

mon*_*guy 2 angular2-template ngonchanges angular

我有下一个html:

<select  [(ngModel)]="district"  class="form-control" (change)="dsChange()">

      <option disabled hidden [value]="undefined" >?????</option>

      <option *ngFor="let dis of districts" [ngValue]="dis">{{dis.title}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我还有下一个组件

@Input() district: District;
 ngOnChanges(changes: SimpleChanges) {
      console.log("CHANGED")
}
 dsChange(){
      console.log(this.district);
}
Run Code Online (Sandbox Code Playgroud)

而且我不明白为什么当我选择一些值dsChange时会用区的正确值触发,但是ngOnChanges()却没有

Bee*_*ice 5

ngOnChanges组件的数据绑定输入属性更改时调用。在您的情况下,如果父组件为设置了新值,则会调用该方法@Input() district

查看文件

ngOnChanges()

当Angular(重新)设置数据绑定的输入属性时响应。在ngOnInit()之前调用,并且每当一个或多个数据绑定的输入属性发生更改时响应。