How can I get the values after a model has changed? The (change) event does fire before the model change. I do not want to use

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

public mychange(event)
   console.log(mymodel); // mymodel has the value before the change

That's a known issue. Currently you have to use a workaround like shown in your question.

This is working as intended. When the change event is emitted ngModelChange (the (...) part of [(ngModel)] hasn't updated the bound model yet:

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

See also

59 users liked answer #0dislike answer #059
Günter Zöchbauer profile pic
Günter Zöchbauer

If this helps you,

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

   console.log(val); // updated value
52 users liked answer #1dislike answer #152
Nikhil Shah profile pic
Nikhil Shah

This worked for me

  (input)="$ = toSnakeCase($"
  [(ngModel)]="" />

In Typescript

toSnakeCase(value: string) {
  if (value) {
    return value.toLowerCase().replace(/[\W_]+/g, "");
4 users liked answer #2dislike answer #24
abasar profile pic

Use the (ngModelChange) event to detect changes on the model

2 users liked answer #3dislike answer #32
deanwilliammills profile pic

Copyright © 2022 QueryThreads

All content on Query Threads is licensed under the Creative Commons Attribution-ShareAlike 3.0 license (CC BY-SA 3.0).