מדריך Angular – ניהול אירועים (Events) באנגולר

מדריך Angular – ניהול אירועים (Events) באנגולר

לאחר שלמדנו במאמר הקודם על סוגי הטפסים בAngular – כעת נעמיק יותר בנושא האירועים.

ניהול אירועים (Events) באנגולר הוא אחד המאפיינים המרכזיים שמאפשרים לקומפוננטות לתקשר ביניהן וליצור אינטראקציה עם המשתמש. במאמר זה נסקור את המנגנון של ניהול אירועים באנגולר, נלמד כיצד להאזין לאירועים שונים, ונראה דוגמאות קוד מפורטות להמחשה.

האזנה לאירועים

כדי להאזין לאירועים בקומפוננטות באנגולר, נשתמש בביטוי האירועים (event binding). ניתן להאזין לאירועים כמו לחיצה על כפתור, שינוי טקסט ועוד. הנה דוגמה פשוטה להאזנה לאירוע לחיצה על כפתור:

<button (click)="onClick()">Click me</button>

בקוד ה-TypeScript של הקומפוננטה נגדיר את הפונקציה שמטפלת באירוע:

import { Component } from '@angular/core';

@Component({
  selector: 'app-event-binding',
  templateUrl: './event-binding.component.html',
  styleUrls: ['./event-binding.component.css']
})
export class EventBindingComponent {
  onClick() {
    console.log('Button clicked!');
  }
}

העברת פרמטרים באירועים

ניתן להעביר פרמטרים לפונקציות שמטפלות באירועים. לדוגמה, אם נרצה להעביר את ערך הקלט לפונקציה, נעשה זאת כך:

<input (input)="onInput($event)">

בקוד ה-TypeScript נגדיר את הפונקציה שמקבלת את האירוע ומטפלת בו:

onInput(event: Event) {
  const inputElement = event.target as HTMLInputElement;
  console.log(inputElement.value);
}

יצירת אירועים מותאמים אישית

ניתן ליצור אירועים מותאמים אישית באנגולר על מנת לאפשר תקשורת בין קומפוננטות. הנה דוגמה ליצירת אירוע מותאם אישית והאזנה לו:

שלב 1: יצירת אירוע מותאם אישית בקומפוננטת הילד

import { Component, EventEmitter, Output } from '@angular/core';

@Component({
  selector: 'app-child',
  template: '<button (click)="notifyParent()">Notify Parent</button>'
})
export class ChildComponent {
  @Output() customEvent = new EventEmitter();

  notifyParent() {
    this.customEvent.emit('Data from child');
  }
}

שלב 2: האזנה לאירוע בקומפוננטת ההורה

<app-child (customEvent)="handleCustomEvent($event)"></app-child>
import { Component } from '@angular/core';

@Component({
  selector: 'app-parent',
  template: '<app-child (customEvent)="handleCustomEvent($event)"></app-child>'
})
export class ParentComponent {
  handleCustomEvent(data: string) {
    console.log('Received:', data);
  }
}

שימוש באירועים מובנים באנגולר

אנגולר מספקת מספר אירועים מובנים שניתן להשתמש בהם. לדוגמה, אירוע ngOnInit אשר נקרא כאשר הקומפוננטה נטענת:

import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-example',
  templateUrl: './example.component.html',
  styleUrls: ['./example.component.css']
})
export class ExampleComponent implements OnInit {
  ngOnInit() {
    console.log('Component initialized!');
  }
}

סיכום

ניהול אירועים באנגולר הוא כלי חזק המאפשר לקומפוננטות לתקשר ביניהן וליצור אינטראקציה עם המשתמש. במאמר זה למדנו כיצד להאזין לאירועים, להעביר פרמטרים באירועים, ליצור אירועים מותאמים אישית ולנצל את האירועים המובנים של אנגולר. אם אתם מעוניינים ללמוד בצורה מעמיקה יותר אתם מוזמנים להתייעץ איתנו על קורס אנגולר.

במאמר הבא נלמד על הזרקת תלויות Dependency Injection

המשיכו לעקוב!

שתפו את הפוסט

דילוג לתוכן