Seite neu laden browser auf back/forward-button in AngularJS mit ui-router
Ich habe die folgende config für den ui-Zustand des Routers in meinem angularjs app.
$locationProvider.html5Mode(true);
$stateProvider
.state('index', {
url: '/index?zoom¢er',
views: {
'map': {
controller: 'MapCtrl',
templateUrl: 'map.html'
}
},
reloadOnSearch:false
});
Jedoch die zurück-Taste im browser geht in eine andere url, aber ich muss die Seite neu laden, mit der urls als stateParams.
Zum Beispiel:
User1 gehe zu Seite http://www.example.com/index?zoom=2¢er=1,2.
dann macht er Haufen operation in der Seite, die url wird http://www.example.com/index?zoom=12¢er=3,4
Dann drückt er auf die zurück-Schaltfläche, die url wechselt auf die Vorherige, aber ich muss neu laden meiner Seite, damit der controller Lesen Sie die Abfrage-Parameter, das richtige zu tun...
Irgendeiner Weise zu lassen, die Arbeit mit browser back/forward?
- "aber die Seite nicht aktualisiert"- wenn du meinst, dass die Seite nicht voll aktualisiert, als Sie sind fehlt den Punkt der Winkel, die back/forward-buttons funktionieren ohne die ganze Seite aktualisieren, das macht die Dinge schneller
- aber ich muss neu laden meiner Seite auf der Grundlage der urls.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, die Einstellung
reloadOnSearch
zu wahren? Wenn das nicht suite Ihre Bedürfnisse, vielleicht schauen Sie sich diese Frage: Kraft, AngularJS, um neu zu laden, eine route, obwohl die option reloadOnSearch auf false festgelegt istEinfachere alternative sein kann, nur Kraft der reload mit Fenster.location = newUrl, Wann immer notwendig.