Sto provando a farlo funzionare, ma mi sforzo. La mia raccolta finisce vuota quando controllo la richiamata success
su fetch
. Non mi dà alcun errore chiaro durante lo parse
. Qui è il mio codice:Come creare una raccolta con diversi tipi di modelli in backbone.js?
La mia collezione:
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;
}
});
}
});
Questo è come mi creo la collezione:
griditems = new VOR.Collections.GridItems();
griditems.fetch({
error: function(e) {console.log(e);},
success: function(msg) {
console.log(msg)
});
Quando mi consolo accedere msg
ottengo: Object {lunghezza = 0, modelli = [0], _byId = {...}, altro ...}
Ho anche registrato la funzione parse
nella raccolta e viene eseguita tramite il file JSON bene ... qualsiasi idee su cosa potrebbe essere sbagliato qui? La lunghezza dell'oggetto msg
dovrebbe essere 5..i.e. questo è il numero di volte in cui la funzione parse
si ripete e (dovrebbe) aggiungere un modello alla raccolta.
Grazie per questo! Questo è molto meglio che farlo in "analisi" perché questo anche per i dati bootstrap. – philoye
Questo è esattamente quello che stavo cercando. Grazie! –
Penso che la prima riga dovrebbe essere 'var VOR.Collections.GridItems = Backbone.Collection.extend ({' – marcos82