角度2变化事件 - 模型变化

dan*_*iel 49 angular

如何在模型更改后获取值?该(change)事件会触发模式改变之前.我不想用event.target.value

<input type="checkbox"  (change)="mychange(event)" [(ngModel)]="mymodel">

public mychange(event)
{
   console.log(mymodel); // mymodel has the value before the change
}
Run Code Online (Sandbox Code Playgroud)

Gün*_*uer 51

这是一个众所周知的问题.目前,您必须使用问题中显示的解决方法.

这是按预期工作的.发出更改事件时ngModelChange(尚未更新绑定模型的(...)部分)[(ngModel)]:

<input type="checkbox"  (ngModelChange)="myModel=$event" [ngModel]="mymodel">
Run Code Online (Sandbox Code Playgroud)

也可以看看

  • 那只是来自FormControlName指令的一个属性https://github.com/angular/angular/blob/master/packages/forms/src/directives/reactive_directives/form_control_name.ts#L128来自NgModel的ngModelChange不是不推荐使用https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_model.ts#L193 (2认同)
  • @MTZ我认为`ngModelChange`仅在反应式形式中被弃用,而不是在模板驱动形式中。 (2认同)

mic*_*yks 50

如果这对你有帮助,

<input type="checkbox"  (ngModelChange)="mychange($event)" [ngModel]="mymodel">

mychange(val)
{
   console.log(val); // updated value
}
Run Code Online (Sandbox Code Playgroud)