Ich erzwinge eine Route ändern mit diesem Code (entsprechend mit einem Klick auf die Schaltfläche). Die vollständige Methode sieht wie folgt aus:Angular 2.0.0-beta.2 Router injizieren unerwünschte "?" Suffix in Route
submit(){
this.store.dispatch({type: MasterScreenerActions.SUBMIT});
this.router.navigateByUrl('master-screener-results');
}
Nun, dies funktioniert gut, aber wenn ich auf dem Browser zurückschlagen und dann auf die submit
Taste erneut, wird der Browser so mögen navigieren: Navigated to http://localhost:4200/master-screener-results?
. Beachten Sie die ?
am Ende. Allerdings wird der Browser schließlich nach dem Laden der Anwendung usw. an der richtigen URL ankommen, zB /master-screener-results
. Das Problem ist, dass diese Route nur aktiviert oder verbunden werden soll, nachdem verschiedene Formulare ausgefüllt wurden, die master-screener
andeuten.
Warum ist dieses Verhalten und wie tritt es auf? Sollte master-screener-results
eine Kindkomponente sein? Muss ich irgendeine Art von Wache implementieren? Irgendwelche Tipps oder Tipps, wo Sie anfangen zu suchen, wird sehr geschätzt.
edit: Ich bekomme auch noch ein ?null=on
Suffix auf meiner Route nach ein wenig fummeln ... was bedeutet das?
edit2: dieses Verhalten scheint auftreten, wenn und nur wenn die Vorlage bereits geladen worden ist, das heißt, zone.js:101 XHR finished loading: GET "http://localhost:4200/app/master-screener-results/master-screener-results.component.html".
, der nächste Anruf in Navigated to http://localhost:4200/master-screener-results?