(change) Vs (ngModelChange) In Angular
Answer : (change) event bound to classical input change event. https://developer.mozilla.org/en-US/docs/Web/Events/change You can use (change) event even if you don't have a model at your input as <input (change)="somethingChanged()"> (ngModelChange) is the @Output of ngModel directive. It fires when the model changes. You cannot use this event without ngModel directive. https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_model.ts#L124 As you discover more in the source code, (ngModelChange) emits the new value. https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_model.ts#L169 So it means you have ability of such usage: <input (ngModelChange)="modelChanged($event)"> modelChanged(newObj) { // do something with new value } Basically, it seems like there is no big difference between two, but ngModel events gains the power when you use [ngValue] . <select [...