私は backbone.js が初めてで、データをテンプレートに送信するのに少し助けが必要です。フェッチを伴うモデルとコレクションを使用しています。コードは次のとおりです。
(function($) {
var UserModel = Backbone.Model.extend({
urlRoot : '/users',
defaults : {
name : '',
email : ''
},
initialize : function() {
_.bindAll(this);
this.fetch();
},
parse : function(res) {
return JSON.stringify(res);
},
});
var users_coll = Backbone.Collection.extend({
//model: UserModel
initialize : function() {
var u = new UserModel();
this.model = u;
}
});
var displayView = Backbone.View.extend({
initialize : function() {
this.collection = new users_coll();
//_.each(this.collection.models, alert);
//console.log(this.collection);
//alert(JSON.stringify(this.collection.models));
this.render();
},
render : function() {
var tmpl = _.template($("#data-display-tpl").html());
this.$el.html(tmpl);
}
});
var view = new displayView({
el : $("#data-display")
});
})(jQuery);
モデル部分までは正常に動作しています。モデルの解析関数では、console.log() を使用しましたが、すべて問題ないようです。適切にフォーマットされたjsonを取得し、フェッチも正常に機能します。
ただし、私のコレクションでは、console.log(user_coll.models) を試しても何も得られません。私はおそらく本当に小さな何かを見逃していると思います。よくわからないのですが、物事の流れがすべて間違っているのかもしれません。