2012-01-30 3 views
5

Sto lavorando su un'applicazione javascript offline. Ha bisogno di supportare IE7 in modo che localStorage non sia un'opzione. Detto questo, l'app NON ha bisogno di mantenere alcuna informazione (se si aggiorna tutto viene cancellato e questo è OK).Backbone senza datastore

Quindi la mia domanda è, come posso impostare Backbone per utilizzare semplicemente una variabile javascript standard (JSON) come archivio dati?

Se ometto il metodo model.url(), viene visualizzato un errore. Immagino che sia semplice, ma non sono sicuro di cosa fare.

Grazie!

risposta

3

Se si guarda a ciò che è localStorage adapter is doing, si scoprirà che è prioritario Backbone.sync. Questo è il modulo in Backbone, che è responsabile per la memorizzazione/Newing/recupero/aggiornamento dei dati quando si chiama new, save, fetch, ecc

Per impostazione predefinita, utilizza un endpoint RESTful definito nel url del modello. Se si utilizza l'override di LocalStorage, lo inserisce in un negozio locale.

Se, invece, si desidera semplicemente inserirlo in un array in memoria, si dovrebbe semplicemente sostituire lo Backbone.sync allo stesso modo definendo cosa fare "leggi", "aggiorna", "crea" e "elimina". Lo baserei sull'adattatore backbone-localstorage.js poiché fa la maggior parte di ciò che desideri, ma vorrei quindi archiviarlo/recuperarlo dall'hash delle coppie chiave/valore id/oggetto.

+0

grazie! Proprio quello che stavo cercando. – captainclam

2

Semplicemente non utilizzare i metodi di raccolta save o create.

Utilizzare invece store e add. Questi non tentano di mantenere i dati nella memoria.