2017-11-07 1 views
0

Ich habe eine Formularseite, die ein Benutzer verwenden wird, um einen bestimmten Wert in die Datenbank einzufügen.AngularJS Browser zurück Button Erkennung auf einem Formular

Was ich tun möchte, ist zu erkennen, ob der Benutzer auf den Zurück-Button im Browser geklickt hat und eine modale Frage anzeigt, ob er das Formular weiter ausfüllen oder wirklich zurückgehen möchte.

Kann dies mit AngularJS getan werden?

+1

Mögliche Betrüger von https://stackoverflow.com/questions/29901409/how-to-detect-if-a-user-clicks-browser-back-button-in-angularjs – james00794

+1

@ james00794 Statuswechselereignisse sind veraltet, DISABLED und ersetzt durch Transition Hooks ab Version 1.0 –

Antwort

0

Sie können den Haken OnExit des UI-Routers verwenden. Das Haken aufgerufen wird, wenn ein Zustand verlassen wird:

$stateProvider.state({ 
    name: 'your-state', 
    onExit: ['MyService', function (MyService) { 
    return MyService.openModal(); 
    }] 
}); 

Hier, auf der official documentation Sie weitere Details finden, wie das funktioniert.

Weiter rocken!

+0

Leider wird dies nicht funktionieren, da ich viele Kind-States habe, die das Formular bilden. Und ein Elternstaat, der sich an diese Kinderstaaten richtet. Wenn ich onExit verwende, wird das Popup immer angezeigt, wenn der Benutzer das "Unterformular" ändert. – WilsonPena

+0

Ich verstehe dein Problem. Andere Option kann das modale auslösen, wenn die Maus das Fenster verlässt –