Angular · Senior · Frage 64 von 75
Wie zeigt man einen globalen Fortschrittsbalken, während eine Lazy-Route lädt?
inject(Router).events.subscribe((e) => {
if (e instanceof NavigationStart) this.loading.set(true);
if (e instanceof NavigationEnd || e instanceof NavigationCancel || e instanceof NavigationError)
this.loading.set(false);
});- 1Bei
NavigationStartstarten, nur beiNavigationEndstoppen - 2Bei
NavigationStartstarten, bei Ende, Abbruch oder Fehler stoppen - 3Einen
@defer-Block mit Loader um<router-outlet>legen
Antwort zeigen
Richtige Antwort: Bei NavigationStart starten, bei Ende, Abbruch oder Fehler stoppen
Erklärung
Werden Abbruch- und Fehler-Events ignoriert, lässt ein blockierender Guard oder ein fehlgeschlagener Chunk den Spinner für immer laufen.