Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Trabajar con array y localStorage

Estas en el tema de Trabajar con array y localStorage en el foro de Javascript en Foros del Web. Hola buenas, estoy intentando guardar información en el cliente usando localStorage, el problema es que los datos que quiero guardar están en un array, y ...
  #1 (permalink)  
Antiguo 08/07/2014, 08:16
 
Fecha de Ingreso: noviembre-2013
Mensajes: 23
Antigüedad: 10 años, 5 meses
Puntos: 4
Trabajar con array y localStorage

Hola buenas,

estoy intentando guardar información en el cliente usando localStorage, el problema es que los datos que quiero guardar están en un array, y localStorage no lo soporta.

Estoy probando a convertirlos a JSON, hasta aqui bien, pero como podría hacer para añadir/quitar items a mi array dinamicamente?

La idea es que pueda ir añadiendo items, y mostrarlos una vez creados.

Pongo un ejemplo de lo que estoy haciendo, a ver si alguien ve donde estoy fallando.

http://jsfiddle.net/Gs4F9/

Gracias y un saludo
  #2 (permalink)  
Antiguo 08/07/2014, 09:23
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
Respuesta: Trabajar con array y localStorage

Para eso puedes crear una clase Collection (por ejemplo), que se encargue de hacer la sincronización, puedes definir un método "add" que internamente agregue el nuevo registro a la colección, luego puedes definir otro método que se llama "save", para que guarde la información en el localStorage, también puedes crear un método "load" para que cargue la información existente a la colección.

Código Javascript:
Ver original
  1. function Collection(id){
  2.     this.id = id;
  3.    
  4.     this.load()
  5. }
  6.  
  7. Collection.prototype.add = function(item){
  8.     this.data.push(item);
  9. };
  10.  
  11. Collection.prototype.save = function(){
  12.     localStorage[this.id] = JSON.stringify(this.data);
  13. }
  14.  
  15. Collection.prototype.load = function(){
  16.     this.data = JSON.parse(localStorage[this.id] || '[]');
  17. }

De esa manera, cuando creas la colección carga la informaci´øn que ya había o bien crea un arreglo vacio, cuando quieras guardar simplemente llamas al método save.

Saludos
  #3 (permalink)  
Antiguo 11/07/2014, 08:10
 
Fecha de Ingreso: noviembre-2013
Mensajes: 23
Antigüedad: 10 años, 5 meses
Puntos: 4
Respuesta: Trabajar con array y localStorage

Gracias stock,

con tu ejemplo pude adaptarlo y solucionarlo.

Un saludo

Etiquetas: js, localstorage
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:38.