次の backbone.js スクリプトがあります。伝統的に、私は以下を使用してビューをレンダリングしていました:
var myItem = 新しいアイテム();
myItem.fetch(); varreward_view = new ListView({model:myItem}); reward_view.render();
ただし、私が見たほとんどの例ではこれを行わず、次の方法でビューをロード/初期化できます。
var listView = new ListView();
どのように?これは私が試したことです:
(function($){
var Item = Backbone.Model.extend({
urlRoot: '/api/v1/1/'
});
var List = Backbone.Collection.extend({
model: Item
});
var ListView = Backbone.View.extend({
el: '#reward_view',
initialize: function(){
_.bindAll(this, 'render'); // every function that uses 'this' as the current object should be in here
this.collection = new List();
this.render();
},
render: function(){
console.log(this)
$(this.el).html('<h1>Hello' + this.model.get('name') + '</h1>');
return this; // for chainable calls, like .render().el
}
});