基本的に、ノード サーバーに GET 要求を送信して、ブログ投稿を取得してリンクを作成しようとしています。を実行するcollection.fetch
と、GET 要求が正常に完了します (ノード サーバーは、正しいオブジェクトを送信していることをログに記録します)。モデルは適切なデータを正常に解析しますが、コレクションを使用しようとすると、空であると表示されます。コードは次のとおりです。
var mdm = mdm || {};
// MODEL
mdm.Post = Backbone.Model.extend({
parse: function( response ) {
response.id = response._id;
console.log(response); // logs the two documents
return response;
}
});
// COLLECTION
mdm.Posts = Backbone.Collection.extend({
model: mdm.Post,
url: '/api/posts'
});
// MODEL VIEW
mdm.LinkView = Backbone.View.extend({
template: _.template( $('#link_template').html() ),
render: function() {
this.$el.html( this.template( this.model.toJSON() ));
return this;
}
});
// COLLECTION VIEW
mdm.LinksView = Backbone.View.extend({
el: '#link_list',
initialize: function() {
this.collection = new mdm.Posts();
this.collection.fetch({reset: true});
// makes the request properly, but collection is empty
this.render();
// never gets called because the collection is empty
console.log(this.collection.length);
// logs a length of 0
},
render: function() {
// renders collection
}
});
$(function() {
new mdm.LinksView();
});
データは送信され、モデルで解析されるため、最終的にコレクションが空になるかどうかはわかりません。どんな助けでも大歓迎です。