Ich habe die folgenden Routen definiert:
%Vor%
Nutzer meiner App sehen basierend auf ihrer Rolle einschließlich ihrer "Landing" -Seite völlig unterschiedliche Seiten. Ich verwende meine HomeComponent, um den Nutzer basierend auf der folgenden Rolle auf die richtige Zielseite zu leiten:
%Vor%
Wenn HomeComponent
nach der Anmeldung zum ersten Mal geladen wird, navigiert die Route nicht zum Beispiel zur Route "Sites", aber seltsamerweise löst sie die siteSummaries-Abhängigkeit auf. Nachdem es das erste Mal nicht umgeleitet wurde, kann ich zu einer anderen Route navigieren und dann versuchen, zur "Route" zu navigieren, und es wird korrekt auf die Route der Sites umgeleitet.
Warum funktioniert die anfängliche Navigation nicht? Basierend auf anderen ähnlichen Fragen über navigator () funktioniert nicht, habe ich versucht, meine Route zu "/ Sites" und "./sites" zu ändern, aber ohne Erfolg.
Aktualisieren
Es sieht so aus, als ob es mit der Auflösung einer Abhängigkeit für eine Route zu tun hat. Wenn ich in meiner Funktion redirect()
auf die Route 'error' umadressiere, wird es beim ersten Mal erfolgreich ausgeführt. Wenn ich meiner Route 'Fehler' eine resolve
hinzufüge, kann sie nicht zum ersten Mal dorthin navigieren. Die seltsame Sache ist, dass der HTTP-Aufruf die Abhängigkeit erfüllt. Ist das ein Problem damit nicht warten auf die Rückkehr von navigate()
Versprechen?
Update 2
Hier sind die angeforderten Klassen:
%Vor%
Update 3
Ich warf das in meine app.component
:
%Vor%
Wenn die Route zum ersten Mal nicht geladen werden kann, gibt es zuerst eine Ereignisinstanz von NavigationStart und dann eine Instanz von NavigationCancel. Hier sehen Sie, wie das Ereignis auf dem NavigationCancel aussieht: {"id":2,"url":"/sites","reason":""}
. Wie Sie sehen können, gibt es keinen Grund dafür ...