variable que nube memoria localstorage guardar funciona datos como caracteristicas almacenamiento javascript backbone.js local-storage backbone-local-storage

javascript - que - Guardar un modelo en el almacenamiento local



local storage javascript (2)

Me encontré con el mismo problema. Tal vez tengas algo similar a esto

var Settings = Backbone.Model.extend({ localStorage: new Store("Settings"), defaults: { a: 1 } }); var s = new Settings; s.fetch();

Cambié a

var s = new Settings({ id: 1 });

Verificación del adaptador localStorage para id como

case "read": resp = model.id ? store.find(model) : store.findAll(); break;

así que 0 o "" para id no funcionará y devolverá todos los modelos en uno

Estoy usando el adaptador de almacenamiento local de Jerome con Backbone y funciona muy bien para las colecciones.

Pero, ahora tengo un modelo único que necesito guardar. Así que en mi modelo me puse:

localStorage: new Store("msg")

Entonces hago mis salvados y voy a buscar. Mi problema es que cada vez que hago una actualización e inicializo mi aplicación, se agrega una nueva representación de mi modelo a localStorage, ver más abajo.

¿Qué estoy haciendo mal?

window.localStorage.msg = { // Created after first run "1de5770c-1431-3b15-539b-695cedf3a415":{ "title":"First run", "id":"1de5770c-1431-3b15-539b-695cedf3a415" }, // Created after second run "26c1fdb7-5803-a61f-ca12-2701dba9a09e":{ "0":{ "title":"First run", "id":"1de5770c-1431-3b15-539b-695cedf3a415" }, "title":"Second run", "id":"26c1fdb7-5803-a61f-ca12-2701dba9a09e" } }


También soy nuevo en backbone.js, pero parece que el modelo de persistencia es análogo a las tablas de base de datos. Es decir, está diseñado para crear / eliminar / leer registros de una tabla. El adaptador localStorage hace lo mismo, por lo que lo que está haciendo allí es crear una "tabla" de Msg en localStorage, y crear un nuevo "registro" de Msg "cada vez, y el adaptador le da a cada nuevo Msg una identificación única.

Si solo tienes un objeto, es probable que sea más fácil usar localStorage directamente. La API es realmente sencilla:

localStorage.setItem("key","value");

Tenga en cuenta que localStorage solo trata con los pares clave / valor como cadenas, por lo que deberá convertir a / desde el formato de cadena.

Echa un vistazo a esta pregunta para obtener más información sobre cómo hacerlo:

Almacenamiento de objetos en HTML5 localStorage