ui-router deferIntercept und state params

8

Ich benutze das neue deferIntercept () von ui-router, um die Browser-URL ohne Neuladen zu aktualisieren mein Controller:

%Vor%

Mit diesem Code ändert ein Klick auf den Zurück-Button des Browsers die URL auf die vorherige, aber ich kann meinen Controller-Status nicht aktualisieren, um diese Änderung zu spiegeln. $ stateParams enthält weiterhin die Werte, die beim ersten Laden der Seite durch den Benutzer festgelegt wurden.

Was ist der beste Weg, um die Objekte $ state und $ stateParams in meinem Controller zu aktualisieren, wenn der Benutzer auf die Schaltfläche Zurück klickt oder die URL manuell ändert?

Danke!

    
Simon Watiau 27.08.2014, 14:49
quelle

1 Antwort

7

Ihr Aufruf an $urlRouter.listen() sollte außerhalb des Event-Handlers platziert werden. Das von Ihnen bereitgestellte Code-Snippet sollte folgendermaßen geändert werden:

%Vor%

Quelle: Die Die offizielle Dokumentation für $urlRouter enthält ein Codebeispiel für die Methode deferIntercept . Es setzt den Aufruf von $urlRouter.listen() außerhalb der Listener-Funktion:

%Vor%     
Tyler Eich 16.09.2014, 02:23
quelle