2012-01-30 13 views
5

Pracuję nad aplikacją javascript w trybie offline. Musi wspierać IE7, więc localStorage nie jest opcją. Powiedział, że aplikacja NIE musi utrzymywać żadnych informacji (jeśli odświeżysz wszystko zostanie wyczyszczone i to jest OK).Szkielet bez bazy danych

Moje pytanie brzmi: jak ustawić Backbone, aby używać tylko standardowej zmiennej javascript (JSON) jako mojego magazynu danych?

Jeśli pominę metodę model.url(), pojawi się błąd. Wyobrażam sobie, że to proste, ale nie jestem pewien, co robić.

Dzięki!

Odpowiedz

3

Jeśli spojrzysz na to, co localStorage adapter is doing, przekonasz się, że jest ono nadrzędne Backbone.sync. Jest to moduł w sieci szkieletowej, która jest odpowiedzialna za przechowywanie/newing/pobieranie/aktualizację danych podczas rozmowy new, save, fetch itp

Domyślnie używa relaksującego końcowego zdefiniowanego w url modelu. Jeśli używasz przesłonięcia LocalStorage, umieszcza go w magazynie lokalnym.

Jeśli zamiast tego chcesz umieścić go w tablicy w pamięci, możesz w ten sam sposób zastąpić Backbone.sync, definiując, co zrobić "czytaj", "aktualizuj", "twórz" i "usuń". Oparłbym go na adapterze backbone-localstorage.js, ponieważ robi on większość z tego, co chcesz, ale chciałbym przechowywać/pobierać z mieszania par klucz/wartość id/obiekt.

+0

dzięki! Właśnie tego szukałem. – captainclam

2

Po prostu nie używaj metod kolekcjonowania save lub create.

Zamiast tego należy użyć store i add. Nie próbują utrzymywać danych do przechowywania.

Powiązane problemy