Ich habe ein Problem mit aktiviertem Routing während der Verwendung mit replaceState
. Was ich versuche zu tun ist, dass nach dem Einreichen der form
ich die keyId
und id
in der Route URL mit der Antwort erhalte ich bin.Angular 2: So ändern Sie die aktivierte Routen-URL mit replaceState
Lassen Sie mich hier erklären. Im Folgenden finden Sie URL meiner aktivierten Route:
home/screen/user/detail/keyId/id
I Form unter dieser Ansicht haben, wo ich meine Form mit unten Methode vorlege:
onSubmit(userItem: UserItem){
this.userService.saveUser(userItem).subscribe(res => {
let keyId = res.keyId;
let id = res.id;
// tried this but doesn't work
/* this.router.navigate(["home/screen/user/detail/" + keyId + "/" + id], { replaceUrl: true }) */
// this one working but seems like temporary fix
this.location.replaceState("home/screen/user/detail/" + keyId + "/" + id);
})
}
Above Code ersetzen die Route URL mit neuen keyId
und id
aber wenn Ich aktualisiere die Seite, die einen Fehler gibt, wie kann keine Routen übereinstimmen. Aber meine Anforderung ist, sobald ich die Seite aktualisiere, sollte es die geänderte URL laden.
Ich versuchte router.navigate
statt replaceState
, aber es funktioniert nicht wie erwartet. Wenn mir jemand in diesem Szenario helfen kann, dann bin ich sehr dankbar.