Event Binding (Event Binding)
Event Binding: واکنش به کاربر 🖱️
چطور بفهمیم کاربر روی دکمه کلیک کرده یا چیزی تایپ کرده؟ با Event Binding!
سینتکس:
برای گوش دادن به یک رویداد، نام رویداد را درون پرانتز ( ) قرار میدهیم.
<button (click)="onServerCreation()">Create Server</button>
در اینجا، وقتی رویداد click رخ دهد، متد onServerCreation() در کلاس TypeScript اجرا میشود.
پیادهسازی در TypeScript:
// در TS
serverCreationStatus = 'No server was created!';
onServerCreation() {
this.serverCreationStatus = 'Server was created!';
}
دریافت دادههای رویداد (Event Data):
گاهی اوقات نیاز داریم اطلاعاتی درباره رویداد داشته باشیم (مثلاً متنی که در input تایپ شده). برای این کار از $event استفاده میکنیم.
<input type="text" (input)="onUpdateServerName($event)">
{{ serverName }}
// در TS
serverName = '';
onUpdateServerName(event: Event) {
// کست کردن (Casting) برای اینکه TypeScript بفهمد این یک Input Element است
this.serverName = (<HTMLInputElement>event.target).value;
}
💡 نکته:
$event یک متغیر رزرو شده در تمپلتهای Angular است که دادههای مربوط به رویداد را حمل میکند.
✅ یاد گرفتید: با Event Binding میتوانید به تعاملات کاربر پاسخ دهید و برنامه خود را زنده کنید!
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
تمرین: Event Binding
Easy
سوال تمرین
🎯 تمرین: دکمه با Event Handler
یک دکمه بسازید که با کلیک، یک counter رو افزایش بده.
پاسخ تمرین
TYPESCRIPT
// component.ts
export class CounterComponent {
count = 0;
increment() {
this.count++;
}
}
<!-- template.html -->
<button (click)="increment()">Click Me</button>
<p>Count: {{ count }}</p>
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.