(change) مقابل (ngModelChange) في Angular: ما الفرق وماذا تختار؟
مرحبًا بالجميع! أنا مبتدئ في Angular و TypeScript. أتعامل مع النماذج وإدخال البيانات. صادفت حدثين متشابهين: `(change)` و `(ngModelChange)`. كلاهما يتم تشغيلهما عند تغيير القيمة في ``، لكنهما يتصرفان بشكل مختلف قليلاً.
على سبيل المثال، لدي مكون بسيط مع حقل إدخال وربط ثنائي الاتجاه عبر `[(ngModel)]`:
```typescript
import { Component } from '@angular/core';
@Component({
selector: 'app-user-input',
template: `
القيمة الحالية: {{ userName }}
` }) export class UserInputComponent { userName: string = ''; onChange(): void { console.log('change event:', this.userName); } onModelChange(value: string): void { console.log('ngModelChange event:', value); } } ``` لاحظت أن: 1. `(change)` يتم تشغيله فقط عندما أزيل التركيز من الحقل (blur)، بينما `(ngModelChange)` يتم تشغيله فورًا عند كل