(change) acara terikat ke acara perubahan input klasik.
https://developer.mozilla.org/en-US/docs/Web/Events/change
Anda dapat menggunakan (mengubah) acara bahkan jika Anda tidak memiliki model di input Anda sebagai
<input (change)="somethingChanged()">
(ngModelChange)adalah @Outputarahan dari ngModel. Ini menyala ketika model berubah. Anda tidak dapat menggunakan acara ini tanpa arahan ngModel.
https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_model.ts#L124
Ketika Anda menemukan lebih banyak di kode sumber, (ngModelChange)pindahkan nilai baru.
https://github.com/angular/angular/blob/master/packages/forms/src/directives/ng_model.ts#L169
Jadi itu berarti Anda memiliki kemampuan penggunaan seperti itu:
<input (ngModelChange)="modelChanged($event)">
modelChanged(newObj) {
// do something with new value
}
Pada dasarnya, sepertinya tidak ada perbedaan besar di antara keduanya, tetapi ngModelacara mendapatkan kekuatan saat Anda menggunakannya [ngValue].
<select [(ngModel)]="data" (ngModelChange)="dataChanged($event)" name="data">
<option *ngFor="let currentData of allData" [ngValue]="currentData">
{{data.name}}
</option>
</select>
dataChanged(newObj) {
// here comes the object as parameter
}
menganggap Anda mencoba hal yang sama tanpa " ngModelbenda"
<select (change)="changed($event)">
<option *ngFor="let currentData of allData" [value]="currentData.id">
{{data.name}}
</option>
</select>
changed(e){
// event comes as parameter, you'll have to find selectedData manually
// by using e.target.data
}