Próbuję uruchomić to, ale walczę z tym. Moja kolekcja kończy się pusta, gdy sprawdzam wywołanie zwrotne success
na fetch
. Nie daje mi to żadnych wyraźnych błędów podczas parse
. Oto mój kod:Jak utworzyć kolekcję z kilkoma typami modeli w pliku backbone.js?
Moja kolekcja:
VOR.Collections.GridItems = Backbone.Collection.extend({
model : VOR.Models.GridItem,
url: "assets/data/grid.json",
parse: function(response){
var self = this;
_.each(response, function(griditem){
switch(griditem.type){
case "news":
self.add(new VOR.Models.NewsGridItem(griditem));
break;
default:
self.add(new VOR.Models.StandardGridItem(griditem));
break;
}
});
}
});
ten sposób tworzę kolekcji:
griditems = new VOR.Collections.GridItems();
griditems.fetch({
error: function(e) {console.log(e);},
success: function(msg) {
console.log(msg)
});
Kiedy Pocieszam logowaniu msg
uzyskać: Object {długość = 0, modele = [0], _byId = {...}, więcej ...}
Zarejestrowałem również funkcję parse
w kolekcji i działa ona przez plik JSON po prostu dobrze ... dowolny pomysły na to, co może być nie tak? Długość obiektu msg
powinna wynosić 5..i.e. tak wiele razy funkcja parse
tworzy pętle i (powinna) dodać model do kolekcji.
Dzięki za to! Jest to znacznie lepsze niż wykonanie w 'parsowaniu', ponieważ jest to również przydatne dla danych bootstrapowanych. – philoye
To jest dokładnie to, czego szukałem. Dzięki! –
Myślę, że pierwsza linia powinna być 'var VOR.Collections.GridItems = Backbone.Collection.extend ({' – marcos82