Este es un poco de mi código que almacena y recupera al almacenamiento local. Utilizo eventos de difusión para guardar y restaurar los valores en el modelo.
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
Si utiliza
$window.localStorage.setItem(key,value)
para almacenar,$window.localStorage.getItem(key)
recuperar y$window.localStorage.removeItem(key)
eliminar, puede acceder a los valores en cualquier página.Tienes que pasar el
$window
servicio al controlador. Aunque en JavaScript, elwindow
objeto está disponible globalmente.Al usar
$window.localStorage.xxXX()
el usuario tiene control sobre ellocalStorage
valor. El tamaño de los datos depende del navegador. Si solo usa$localStorage
, el valor permanece mientras use window.location.href para navegar a otra página y si usa<a href="location"></a>
para navegar a otra página, entonces su$localStorage
valor se pierde en la página siguiente.fuente
Para el almacenamiento local, hay un módulo para ver la siguiente URL:
https://github.com/grevory/angular-local-storage
y otro enlace para almacenamiento local HTML5 y angularJs
http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/
fuente
Úselo
ngStorage
para todas sus necesidades de almacenamiento local de AngularJS. Tenga en cuenta que esto NO es una parte nativa del marco Angular JS.ngStorage
contiene dos servicios$localStorage
y$sessionStorage
Mira la demo
fuente
Hay un módulo alternativo más que tiene más actividad que
ngStorage
almacenamiento local angular:
https://github.com/grevory/angular-local-storage
fuente
Puedes usar
localStorage
para el propósito.Pasos:
fuente
Creé (otro) servicio de almacenamiento angular html5. Quería mantener las actualizaciones automáticas posibles
ngStorage
, pero hacer que los ciclos de resumen sean más predecibles / intuitivos (al menos para mí), agregar eventos para manejar cuando se requieren recargas de estado y también agregar almacenamiento de sesión compartida entre pestañas. Modelé la API después$resource
y la llaméangular-stored-object
. Se puede usar de la siguiente manera:API es aquí .
Repo está aquí .
Espero que ayude a alguien!
fuente
Siga los pasos para almacenar datos en Angular - almacenamiento local:
Inyecte 'ngStorage' en su angular.module
$localStorage
su función app.controller4.Usted puede usar
$localStorage
dentro de su controladorLo anterior almacenará el almacenamiento local en la aplicación de su navegador
fuente
Dependiendo de sus necesidades, por ejemplo, si desea permitir que los datos caduquen o establecer limitaciones en la cantidad de registros que se almacenarán, también puede consultar https://github.com/jmdobry/angular-cache que le permite definir si el caché se encuentra en la memoria, localStorage o sessionStorage.
fuente
Uno debería usar un script de terceros para esto llamado ngStorage. Aquí hay un ejemplo de cómo usarlo. Actualiza localstorage con cambios en el alcance / vista.
fuente