在Angular2中我有这段代码:
<form #f="ngForm" novalidate (ngSubmit)="save(f)">
<input type="checkbox" name="foo" [(ngModel)]="value" (ngModelChange)="onChange(f)"/>
</form>
onChange函数如下所示:
onChange(form):void{
let val = form.value.foo;
}
加载页面时,会选中复选框。当我取消选中它时,会调用onChange函数,但form.value.foo是陈旧值。在调用onChange函数之前,似乎没有更新表单模板变量。我需要在调用onChange函数之前将表单变量更新为最新的DOM。有什么我想念的吗?在更新指向ngForm的模板变量f之前,angular2是否始终首先调用onChange函数?
这是我的plunkr代码:https://plnkr.co/edit/zUJmO3PTxsuJtxYikXKw?p=preview