Angularjs 角度2 RC4-选择ngModel延迟更新

Angularjs 角度2 RC4-选择ngModel延迟更新,angularjs,Angularjs,我正在尝试创建一个选择控件,该控件将值绑定到一个对象,一旦更改,我就可以访问所选对象 我知道表单中有很多更改,所以不确定这是否是用户错误或bug,还是不可能 以下是我目前的情况: 但不幸的是,event.target.value是对象的字符串版本,this.selected可以正常工作,但总是落后于更新 有没有其他方法或正确的方法来处理这个问题?NGM模型中的延迟是一个bug吗 任何帮助都将不胜感激 您应该定义如下所示的选择输入/输出: <select [(ngModel)]="selec

我正在尝试创建一个选择控件,该控件将值绑定到一个对象,一旦更改,我就可以访问所选对象

我知道表单中有很多更改,所以不确定这是否是用户错误或bug,还是不可能

以下是我目前的情况:

但不幸的是,
event.target.value
是对象的字符串版本,
this.selected
可以正常工作,但总是落后于更新

有没有其他方法或正确的方法来处理这个问题?NGM模型中的延迟是一个bug吗


任何帮助都将不胜感激

您应该定义如下所示的选择输入/输出:

<select [(ngModel)]="selected" (ngModelChange)="onChange()">
  <option *ngFor="let d of data" [ngValue]="d">
    {{d.name}}
  </option>
</select>

{{d.name}
然后将模型正确应用于属性


请注意,ngModel和ngModelChange的定义应该按照示例中的顺序进行排序:)

完全有效…在我的应用程序上尝试了它,但没有成功…所以再多玩一些。问题是ngModel和ngModelChange的顺序<代码>(ngModelChange)=“onChange()”[(ngModel)]=“selected”不起作用。更新ngModel之前将调用函数
onChange()
。这就是为什么我总是看到它更新时,我会再次改变它。你能更新一下你的答案吗?关于这一点,我会给你评分的。我还将在角回购中提出一个问题。如果它不是一个bug,那么它肯定需要在某个地方被记录下来。看起来这已经是一个已知的问题了。我会将此stackoverflow添加到问题中。
//expected
onChange(event) {
  console.log(event.target.value) // selected object bound to ngValue
  console.log(this.selected) // ngModel updated to object bound to selected option 
}
<select [(ngModel)]="selected" (ngModelChange)="onChange()">
  <option *ngFor="let d of data" [ngValue]="d">
    {{d.name}}
  </option>
</select>