より詳細な提案を行うには、さらにいくつかのコードを確認する必要がありますが、この説明がお役に立てば幸いです。モデルをコレクションに直接渡すか、フェッチで処理する必要があります。
//simplified view
YourView = Backbone.View.extend({
initialize : function(){
var testModel = new Tutorial.Model({id : $("#data").data('user') });
this.collection = new Tutorial.Collection();
this.collection.add(testModel);
}
});
この場合、そのモデルをコレクションに直接追加します。非同期で呼び出してフェッチからデータを取得してからコールバックを渡したい場合は、次のようにすることができます。
//simplified view
YourView = Backbone.View.extend({
initialize : function(){
this.collection = new Tutorial.Collection();
this.collection.fetch(function(){
console.log('okay');
});
}
});
Tutorial.Collection = Backbone.Collection.extend({
fetch : function(callback){
// grab a ref to your collection
var thisCollection = this;
// call your data function which has the ajax call
getYourDataFunction(function(data){
// if your data returned is an array of objects
thisCollection.add(data);
if (typeof callback === "function"){
//if you included a callback, call it with a reference to the collection
callback.call(thisCollection);
}
});
});
});