Подтвердить что ты не робот

Angular 2 события изменения - изменение модели

Как я могу получить значения после изменения модели? Событие (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
}
4b9b3361

Ответ 1

Это известная проблема. В настоящее время вы должны использовать обходной путь, как показано в вашем вопросе. Забастовкa >

Это работает по назначению. Когда событие изменения выбрано ngModelChange (часть (...) [(ngModel)] еще не обновила связанную модель:

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

См. также

Ответ 2

Если это вам поможет,

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

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

Ответ 3

Используйте событие (ngModelChange) чтобы обнаружить изменения в модели

Ответ 4

Это сработало для меня

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

В машинописи

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