Nello script #199 abbiamo visto come il router sia necessario in angular per definire le rotte delle pagine che andiamo a navigare. Questo componente permette non solo la creazione di rotte, ma espone anche eventi relativi alla navigazione ai quali sottoscriversi. Gli eventi in questione sono:
- NavigationStart: scatenato quando inizia la navigazione;
- NavigationEnd: scatenato quando la navigazione termina;
- NavigationCancel: scatenato quando la navigazione viene annullata;
- NavigationError: scatenato quando c'è un erore di navigazione.
Per agganciarsi a questi eventi dobbiamo sottoscriverci alle notifiche scatenate dalla proprietà events del router. Il metodo che riceve le notifiche riceve in input un oggetto di tipo RouterEvent che è la classe base dei tipi di evento scatenati dal router. Possiamo usare l'oggetto come mostrato nel seguente esempio:
this._router.events.subscribe(this.interceptNavigation); ... interceptNavigation(event: RouterEvent){ if (event instanceof NavigationStart) { console.log('start'); } if (event instanceof NavigationEnd) { console.log('end'); } if (event instanceof NavigationCancel) { console.log('cancel'); } if (event instanceof NavigationError) { console.log('error'); } }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Evitare memory leaks nelle closure JavaScript
Combinare Container Queries e Media Queries
Utilizzare Intersect e Except per filtrare set di dati in TSql
Creare un agente A2Acon Azure Logic Apps
Configurare automaticamente un webhook in Azure DevOps
Ottimizzare le performance usando Span<T> e il metodo Split
Ricevere notifiche sui test con Azure Load Testing
Rinnovare il token di una GitHub App durante l'esecuzione di un workflow
Gestione file Javascript in Blazor con .NET 9
Gestire progetti NPM in .NET Aspire
Eliminare una project wiki di Azure DevOps
Integrare modelli AI in un workflow di GitHub