2012-09-26 2 views
8

Nehmen wir an, ich aus der JavaScript-Konsole folgendes Ergebnis kann:Wie kommt man Backbone.Collection von Backbone.LocalStorage

var ls = new Backbone.LocalStorage("items"); 
ls; // {"name":"items","records":["1244f588-be3d-c493-5c86-b2abb997af82"]} 

wie soll ich das Backbone.Collection vom Backbone.LocalStorage bekommen?

PS:
die Sammlung sieht aus wie

[ 
{ 
"title":"test", 
"completed":false, 
"order":1, 
"id":"1244f588-be3d-c493-5c86-b2abb997af82" 
}, 
{ 
"title":"test2", 
"completed":false, 
"order":2, 
"id":"8a8658b9-b636-eac3-4c54-03c279a73c2d" 
} 
] 

Antwort

9

Entweder eine leere Sammlung mit collection.localStorage Satz zu Ihrem Backbone.LocalStorage Objekt erstellen und holt es:

var c = new Backbone.Collection(); 
c.localStorage = new Backbone.LocalStorage("items"); 
c.fetch(); 
console.log(c.pluck('id')); 

oder verwenden findAll auf Ihrem Backbone.LocalStorage Objekt Holen Sie sich eine Reihe von Modellen im Speicher:

var ls = new Backbone.LocalStorage("items"); 
console.log(ls.findAll()); 

A Fiddle mit http://jsfiddle.net/nikoshr/8pHNG/

+0

collection.fetch zu spielen() führt nicht Rückruf fehlschlagen, wenn die Sammlung dort nicht im lokalen Speicher ist .. @nikoshr –

+0

Ihre Geige gebrochen ist. kann damit nicht spielen – Mahi

+0

@mahi Es sollte jetzt funktionieren – nikoshr