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
Code scanning e advanced security con Azure DevOps
Eseguire query manipolando liste di tipi semplici con Entity Framework Core
Effettuare delete massive con Entity Framework Core 7
Utilizzare gli snapshot con Azure File shares
Usare lo spread operator con i collection initializer in C#
Copiare automaticamente le secret tra più repository di GitHub
Usare le variabili per personalizzare gli stili CSS
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Gestire domini wildcard in Azure Container Apps
Reactive form tipizzati con FormBuilder in Angular
I più letti di oggi
- Miglioramenti nelle performance di Angular 16
- Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
- HTML5 con CSS e JavaScript
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Ottimizzazione dei block template in Angular 17
- Disabilitare automaticamente un workflow di GitHub (parte 2)