Julio, parte de nuestro equipo, nos hizo el favor de crear este escrito ya que domina a la perfección el tema.
Solución:
este es un poco de mi código que almacena y recupera en el almacenamiento local. Uso eventos de transmisió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;
]);
Si utiliza $window.localStorage.setItem(key,value)
Almacenar,$window.localStorage.getItem(key)
para recuperar y $window.localStorage.removeItem(key)
para eliminar, puede acceder a los valores en cualquier página.
Tienes que pasar el $window
servicio al controlador. Aunque en JavaScript, window
el objeto está disponible globalmente.
Mediante el uso $window.localStorage.xxXX()
el usuario tiene control sobre el localStorage
valor. El tamaño de los datos depende del navegador. Si solo usas $localStorage
entonces el valor permanece mientras uses ventana.ubicación.href para navegar a otra página y si usa para navegar a otra página y luego a su
$localStorage
el valor se pierde en la página siguiente.
Para el almacenamiento local, hay un módulo para ese aspecto en la siguiente URL:
https://github.com/grevory/angular-local-almacenamiento
y otro enlace para almacenamiento local HTML5 y angularJs
http://www.amitavroy.com/justread/content/articles/html5-local-storage-with-angular-js/
Al final de la artículo puedes encontrar las críticas de otros administradores, tú igualmente puedes insertar el tuyo si te apetece.