Sto tentando di ripetere i modelli recuperati dalla raccolta.collection.each() non itera sui modelli
ho folowing pezzo di codice:
initialize: function() {
this.collection = new UserCollection();
this.collection.fetch();
this.render();
},
renderCollection: function() {
console.log("rendering collection");
this.collection.each(function(index,model){
console.log("model");
});
console.log(this.collection);
},
render: function() {
this.template = _.template(template, {});
this.$el.html(this.template);
// some other stuff
this.renderCollection();
}
e risultati:
rendering collection
d {models: Array[0], length: 0, _byId: Object, constructor: function, model: function…}
_byId: Object
_idAttr: "id"
length: 4
models: Array[4]
0: d
_changing: false
_events: Object
_pending: false
_previousAttributes: Object
attributes: Object
created: "2013-02-13 09:22:42"
id: "1"
modified: "2013-02-13 09:22:42"
role: "admin"
username: "[email protected]"
__proto__: Object
changed: Object
cid: "c5"
collection: d
id: "1"
__proto__: e
1: d
2: d
3: d
length: 4
__proto__: Array[0]
__proto__: e
user_list.js:25
Quindi il metodo di recupero ha fatto il lavoro - in discarica oggetto posso trovare 4 record inverosimile ma iterare sulla collezione fa non funziona ...
il problema potrebbe venire anche dall'output del server che deve essere una matrice valida di oggetti json. in php un array json_encoded indicizzato –
Il tuo iteratore dovrebbe essere: 'this.collection.each (function (model) {...});' O 'this.collection.each (funzione (modello, indice) {...});' L'OP ha indice e modella il modo sbagliato. –
Ho dovuto eseguire una copia su ogni collection.models come questo (non collezione): http://stackoverflow.com/questions/11726943/for-loop-over-backbone-collection...questo era il mio problema. – Kelly