Dies ist ein Teil meines Codes, der im lokalen Speicher gespeichert und abgerufen wird. Ich benutze Broadcast-Ereignisse, um die Werte im Modell zu speichern und wiederherzustellen.
app.factory('userService', ['$rootScope', function ($rootScope) {
var service = {
model: {
name: '',
email: ''
},
SaveState: function () {
sessionStorage.userService = angular.toJson(service.model);
},
RestoreState: function () {
service.model = angular.fromJson(sessionStorage.userService);
}
}
$rootScope.$on("savestate", service.SaveState);
$rootScope.$on("restorestate", service.RestoreState);
return service;
}]);
sessionStorage
≠localStorage
Wenn Sie
$window.localStorage.setItem(key,value)
zum Speichern,$window.localStorage.getItem(key)
Abrufen und$window.localStorage.removeItem(key)
Entfernen verwenden, können Sie auf die Werte auf jeder Seite zugreifen.Sie müssen den
$window
Dienst an die Steuerung übergeben. Obwohl in JavaScript, ist daswindow
Objekt global verfügbar.Durch die Verwendung hat
$window.localStorage.xxXX()
der Benutzer die Kontrolle über denlocalStorage
Wert. Die Größe der Daten hängt vom Browser ab. Wenn Sie nur verwenden$localStorage
, bleibt der Wert so lange erhalten, wie Sie mit window.location.href zu einer anderen Seite navigieren. Wenn Sie<a href="location"></a>
zu einer anderen Seite navigieren, geht Ihr$localStorage
Wert auf der nächsten Seite verloren.quelle
Für die lokale Speicherung gibt es ein Modul für diesen Blick unter der folgenden URL:
https://github.com/grevory/angular-local-storage
und anderer Link für lokalen HTML5-Speicher und AngularJs
http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/
quelle
Verwendung
ngStorage
für alle Ihre lokalen AngularJS-Speicheranforderungen. Bitte beachten Sie, dass dies KEIN nativer Teil des Angular JS-Frameworks ist.ngStorage
enthält zwei Dienste$localStorage
und$sessionStorage
Überprüfen Sie die Demo
quelle
Es gibt ein alternatives Modul mit mehr Aktivität als
ngStorage
Winkel-Lokal-Speicher:
https://github.com/grevory/angular-local-storage
quelle
Sie können
localStorage
für den Zweck verwenden.Schritte:
quelle
Ich habe (noch einen) eckigen HTML5-Speicherdienst erstellt. Ich wollte die automatischen Updates beibehalten
ngStorage
, aber Digest-Zyklen vorhersehbarer / intuitiver machen (zumindest für mich), Ereignisse hinzufügen, die behandelt werden sollen, wenn Status-Neuladungen erforderlich sind, und auch den Speicher für die gemeinsame Nutzung von Sitzungen zwischen Registerkarten hinzufügen. Ich habe die API nachempfunden$resource
und aufgerufenangular-stored-object
. Es kann wie folgt verwendet werden:API ist hier .
Repo ist da .
Hoffe es hilft jemandem!
quelle
Führen Sie die folgenden Schritte aus, um Daten in Angular - local storage zu speichern:
Injizieren Sie 'ngStorage' in Ihr angle.module
$localStorage
in Ihrer app.controller-Funktion hinzu4.Sie können
$localStorage
in Ihrem Controller verwendenOben wird der lokale Speicher in Ihrer Browser-Anwendung gespeichert
quelle
Abhängig von Ihren Anforderungen, z. B. wenn Sie zulassen möchten, dass die Daten irgendwann ablaufen, oder wenn Sie festlegen möchten, wie viele Datensätze gespeichert werden sollen, können Sie auch https://github.com/jmdobry/angular-cache verwenden , um zu definieren, ob Der Cache befindet sich im Speicher, localStorage oder sessionStorage.
quelle
Hierfür sollte ein Drittanbieter-Skript namens ngStorage verwendet werden. Hier ist ein Beispiel für die Verwendung. Es aktualisiert localstorage mit einer Änderung des Bereichs / der Ansicht.
quelle