Ich habe eine Ansicht, die eine fetch() zu einer Sammlung und einige Modelle vom Server zurückgibt.Backbone.js collection.models nicht angezeigt, aber dort
ProductsView = Backbone.View.extend({
initialize: function() {
_.bindAll(this, 'render');
this.collection = new ProductCollection();
this.collection.fetch({data: {limit : this.options.limit}});
console.log(this.collection);
this.render();
},
render: function() {
var template = _.template($("#product-template").html(), this);
$(this.el).html(template);
return this;
}
});
Im console.log oben sehe ich das Objekt wie folgt:
products.view.js:13
d
_byCid: Object
_byId: Object
length: 7
models: Array[7]
__proto__: x
Die models
gibt es, aber wenn ich console.log(this.collection.models)
tun zeigt es nur []
, im Inneren der Modelle, ist ein Array von Objekten wie folgt aus:
models: Array[7]
0: d
1: d
2: d
3: d
4: d
5: d
6: d
jedes diese haben attributes
mit den Werten, die zurückgegeben wurden.
Jede Idee, warum die Modelle nicht angezeigt werden, wenn ich this.collection.models
oder get()
verwende, funktioniert auch nicht.
Vielen Dank!
Wo schreibst du das 'console.log (this.collection.models)'? Ich meine diejenige, die Ihnen dadurch ein leeres Array gibt. – ZenMaster