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
Selettore CSS :has() e i suoi casi d'uso avanzati
Evidenziare una porzione di testo in un pagina dopo una navigazione
Gestione delle scrollbar dinamiche in HTML e CSS
Utilizzare Locust con Azure Load Testing
Gestione CSS in Blazor con .NET 9
Utilizzare il metodo IntersectBy per eseguire l'intersection di due liste
Utilizzare Intersect e Except per filtrare set di dati in TSql
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzare Hybrid Cache in .NET 9
Configuratione e utilizzo .NET Aspire CLI
Creare espressioni riutilizzabili nelle query LINQ per Entity Framework
Gestire eccezioni nei plugin di Semantic Kernel in ASP.NET Core Web API


