Angular2: Wie kann man die Manipulation des Verlaufs während der Implementierung von routerCanDeactivate verhindern / aufheben?
routerCanDeactivate()
verhindert erfolgreich die Navigation von der Komponente weg.
routerCanDeactivate(nextInstruction: ComponentInstruction, prevInstruction: ComponentInstruction)
{
return confirm("Do you want to discard unsaved changes ?");
}
Aber wenn die Navigation durch das @ des Browsers verursacht wiback
Taste oder ein andereshistory.back()
trigger,
then es hält die Geschichte nicht intakt und löstpopState
bei jedem Auslöser und navigiert schließlich zur Startseite des Browsers (auf Chrome getestet).
BEARBEITEN
Ich habe die URL der aktuellen Komponente in einer Variablen gespeichertcurrentLocation
un
versucht zu manipulierenhistory
mithistory api
abe
Just konnte nicht herausfinden, in welcher Reihenfolge die API-Aufrufe ausgeführt werden müssen, damit sie intakt bleiben.
routerCanDeactivate(nextInstruction: ComponentInstruction, prevInstruction: ComponentInstruction) {
history.replaceState(null,null, this.currentLocation);
history.forward();
return confirm("Do you want to discard unsaved changes ?");
}