utilizando localStorage para mantener HTML en la página de actualización no funciona

votos
0

Estoy tratando de integrar este violín: http://jsfiddle.net/jaredwilli/ReT8n/ en un violín que estoy haciendo:

https://jsfiddle.net/vlrprbttst/99c8gn7k/

Básicamente, usted tiene una cesta con algunos elementos dentro de ella, se puede añadir o eliminarlos. Lo que quiero es que, en la página de actualización, el html()de la .basketse mantiene en el almacenamiento local. Estoy atorado aqui:

https://jsfiddle.net/vlrprbttst/z8cffk4c/

He puesto la forLocalStoragevariable en el controlador de clic, porque de lo contrario, la var no se actualizará a sí mismo, pero ahora supongo que el código de almacenamiento local finales

  if(localStorage.getItem('toDoData')) {
    forLocalStorage = localStorage.getItem('toDoData');
}

que no funciona porque no puede retrive la variable?

He intentado mover alrededor de las cosas, pero estoy atascado aquí. ¿Qué estoy haciendo mal?

Publicado el 24/05/2016 a las 06:43
por usuario
En otros idiomas...                            


2 respuestas

votos
-1

El almacenamiento local únicamente puede almacenar string key value pairs. Me aseguré de que está de paso en una cadena y también ha añadido una función para rellenar la cesta de actualización, que resuelve problemas.

function populateCart() {
    var items = localStorage.getItem('toDoData') || '';
    $('#cart').html(items);
}

Agregado esta llamada en el interior document.ready, así: -

$(document).ready(function() {
    populateCart();
    // rest of code
});

CodePen de Trabajo: http://codepen.io/owenayres/pen/oxKmZg

Usted puede hacer una lectura ligera aquí en el almacenamiento local. Es, en mi opinión, la mejor práctica para almacenar los datos para el HTML como algunos JSON en el almacenamiento local, lo que lo haría a continuación, recorrer y regenerar el código HTML para la lectura de estos datos de nuevo.

Respondida el 24/05/2016 a las 06:47
fuente por usuario

votos
1

Es necesario actualizar DOM una vez que se establece la variable, por ejemplo:

 // LOCAL STORAGEEEEEEEE
  if (localStorage.getItem('toDoData')) {
    forLocalStorage = localStorage.getItem('toDoData');
    $('#cart').html(forLocalStorage);
    itemsCount();
  }
Respondida el 24/05/2016 a las 07:01
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more