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

时间:2016-03-22 09:06:09

标签: 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
}

4 个答案:

答案 0 :(得分:48)

如果这对您有帮助,

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

mychange(val)
{
   console.log(val); // updated value
}

答案 1 :(得分:45)

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

这是按预期工作的。发布更改事件时ngModelChange(...)的{​​{1}}部分尚未更新绑定模型:

[(ngModel)]

另见

答案 2 :(得分:0)

使用(ngModelChange)事件检测模型上的更改

答案 3 :(得分:0)

这对我有用

<input 
  (input)="$event.target.value = toSnakeCase($event.target.value)"
  [(ngModel)]="table.name" />

在打字稿中

toSnakeCase(value: string) {
  if (value) {
    return value.toLowerCase().replace(/[\W_]+/g, "");
  }
}