Domanda

Qual è il modo migliore per archiviare i dati degli oggetti in localStorage di HTML5. Non ho lavorato molto con memorizzazione dei valori chiave.

Nella mia ricerca ho visto un paio di approcci diversi.

dati di esempio:

var commands = [
  {invokes: 'Window', type: 'file', data: '/data/1'},
  {invokes: 'Action', type: 'icon', data: '/data/2'},
  {invokes: 'Window', type: 'file', data: '/data/3'}
];

Approccio 1: le chiavi dei negozi che rappresentano ogni dato

// for(...) {
localStorage["command[" + i + "].invokes"] = command[i].invokes
localStorage["command[" + i + "].type"] = command[i].type
localStorage["command[" + i + "].data"] = command[i].data
//}

Approccio 2: chiavi è il nome dell'entità, negozio json

localStorage["commands"] = JSON.stringify(commands);

Secondo approccio richiederebbe un JSON.parse ().

pro / contro?

È stato utile?

Soluzione

Per la cronaca sono andato con approccio 2. La mia chiave è simile a un nome di tabella, il valore è un JSON stringata serie di record. Quando si recuperano la tabella è necessario chiamare JSON.parse ().

Altri suggerimenti

tecnologie per depositi locali sono: http: //madhukaudantha.blogspot.com/2011/02/client-side-storages-with-html-5.html ...

Approccio 2, OK .. ci sono più modi

Certamente il vostro approccio funziona bene ma lo fa si lascia un po 'bloccato con la convenzione si è scelto di andare avanti. Vorrei raccomandare che si considera avvolgendo l'accesso localStorage in una classe in modo che la vostra convenzione è isolato a una classe come un vero convenzione.

In caso contrario, si dovrebbe scegliere di cambiare ho ci si avvicina si avrà codice di implementazione sparsi su tutto il codice di base.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top