כל רכיב יכול להרשם לראוטינג וכאשר הוא מופעל, זאת אומרת שהיה ניווט לדף אחר וזה יהיה הטריגר להפעלת פונקציה ברכיב.
מתי נשתמש בזה?
כאשר יש לנו רכיב כמו header/footer שנשארים קבוע על המסך ובמידה שיש ניווט, משהו צריך להשתנות או לרוץ ברכיב.
אופציה נוספת כאשר אנחנו רוצים להפעיל loader בזמן שהדף עולה, אני מניח שיש עוד הרבה שימושים שלא חשבתי עליהם.
נעשה את זה כך:
import { Component, OnInit } from '@angular/core'; import { NavigationStart, Router, Event, NavigationEnd } from '@angular/router'; @Component({ selector: 'app-parent', templateUrl: './parent.component.html', styleUrls: ['./parent.component.scss'] }) export class ParentComponent implements OnInit { constructor(private router: Router) { } ngOnInit() { this.router.events .subscribe( (event: Event) => { if (event instanceof NavigationStart) { console.log("start", event); } if (event instanceof NavigationEnd) { console.log("end", event); } }); } }
חשוב לזכור שגלישה ישירות לדף לא נחשב לניווט ולכן לא יפעיל את הפונקציות אלא רק ניווט מדף לדף.