Ich habe ein Javascript-Objekt, das ich global zu meinem angularjs Anwendung brauche. Wenn die Anwendung entladen wird (aufgrund einer Seitenaktualisierung oder eines anderen Szenarios), möchte ich das Objekt im Browser speichern. Ich glaube, das Hinzufügen des Objekts zu $ rootScope würde die erste Anforderung erfüllen, das Objekt global zu machen, aber das Schreiben des Objekts in den Speicher während des Ereignisses onbeforeunload
würde den Zugriff auf die Variable $ rootScope erfordern. Ist es möglich, ein Seitenentladeereignis in angularjs zu erkennen?Erkennung der Seite entladen in angularjs
Antwort
Das sollte es tun, aber ich schlage auch vor, $rootScope
zu vermeiden, da der globale Zustand entmutigt wird, und Sie könnten auch localStorage
in einem Dienst umhüllen, so dass es injiziert und zum Testen verspottet werden kann.
.run([
'$window',
'$rootScope',
function($window, $rootScope) {
$window.addEventListener('beforeunload', function() {
localStorage.myValue = $rootScope.myValue;
});
}
]);
Danke. Und wäre das Ereignis zum Laden der Seite "Laden"? – user1491636
@ user1491636 Ich denke nicht, dass Sie dieses Ereignis verwenden sollten. Wenn Sie möchten, dass etwas zu Beginn Ihrer Angular-App ausgeführt wird, fügen Sie es einfach in einen "run" -Block ein, wie in meinem Beispiel hier. – m59
Ihre Lösung löst das Problem nicht, denn selbst wenn Sie auf Abbrechen klicken, wird sie aufgerufen. –
- 1. Benutzerdefinierter Sicherheitsabruf beim Entladen der Seite?
- 2. Erkennung des Standortnamens in Angularjs
- 3. Erkennung der Versionsänderung der Anwendung auf einer einzelnen Seite
- 4. Verfolgen Benutzer letzte Formularfeld auf Seite entladen
- 5. Ajax-Anfrage mit JQuery auf Seite entladen
- 6. Abschließen von jQuery-Animationen beim Entladen der Seite
- 7. jQuery: Automatisches Abbrechen von AjaxRequests beim Entladen der Seite?
- 8. Erfassungs Seite schließen (oder entladen) in asp.net MVC3
- 9. laden php Seite von jquery ajax nach dem Entladen der aktuellen Seite
- 10. Entladen dll in Java
- 11. OpenCV C++ - Rechteck Erkennung, die unregelmäßige Seite
- 12. Erkennung der Datei in PHP
- 13. java script + onbefore entladen
- 14. AngularJS Radiobutton beim Laden der Seite ausgewählt
- 15. Clientseitige Erkennung der HTTP-Anforderungsmethode
- 16. jCarousel entladen/deaktivieren/entfernen
- 17. "Unbekannte Ausnahme" bei Aufheben Seite Entladen mit "location.href"
- 18. Kann einzelne Seite Anwendung Javascript nicht entladen führen zu Speicherproblemen
- 19. AngularJS SPA Login Seite
- 20. Erkennung der Speicherseitengröße
- 21. AngularJS - Druckänderung zu Seite
- 22. Leere Seite angularjs
- 23. Müssen R-Pakete dynamische Bibliotheken entladen, wenn sie entladen werden?
- 24. Blob-Erkennung + Vordergrund-Erkennung
- 25. Reliabily Dll in Java entladen
- 26. Javascript Fenster entladen Ereignis
- 27. AngularJs: Seite neu laden
- 28. Plugin-Architektur in .net. Entladen
- 29. Beenden eines Threads beim Entladen der App
- 30. Zeige Daten in angularjs in html Seite
haben Sie mit so etwas in Betracht gezogen wie https://github.com/grevory/angular-local-storage oder https://github.com/gsklee/ngStorage – Vadim