我寫一個新的骨幹應用程序,我得到的代碼一些錯誤,我在其他應用程序的工作。我正在爲這個應用程序使用最新版本的骨幹,所以我不知道是否有改變,使我在這裏做的事情破裂或什麼。谷歌整天都沒有給我任何幫助。骨幹型號不及格查看
我有一個集合,我分手,併發送個別模型的意見。視圖報告this.model未定義。
代碼:
的觀點:
DigitalAnalytics.View.TopPage = Backbone.Model.extend({
tagName: 'tr',
className: 'db-toppage-tr',
template: DigitalAnalytics.Helper.template('db-analytics-toppages-template'),
initialize: function() {
console.log(this.model); // prints 'undefined'
},
render: function() {
console.log(this.model); // prints 'undefined'
// This throws an error saying that it can not call html() on undefined
this.$el.html(this.template(this.model.toJSON()));
return this;
},
events: {}
});
收集觀點:
DigitalAnalytics.View.Collection.TopPages = Backbone.View.extend({
el: $('#db-analytics-toppages'),
template: DigitalAnalytics.Helper.template(''),
initialize: function() {
this.listenTo(this.collection, 'reset', this.render); // Never fires even though the collection is returned
this.collection.fetch(); // Works just fine
},
render: function() {
this.collection.each(function(page, index) {
console.log(page.toJSON()); // writes the object to console just fine
var topPage = new DigitalAnalytics.View.TopPage({model: page});
this.$el.append(topPage.render().el);
}, this);
}
});
我沒有在你的代碼看起來密切,但你的意思是從一個視圖,而不是模型('DigitalAnalytics.View.TopPage = Backbone.Model.extend')延伸? – Jack
你應該擴展視圖而不是模型。 – apsdehal