[英]Backbone Model not passing to view
我正在编写一个新的主干应用程序,但是在其他应用程序中使用的代码却出现一些错误。 我正在为此应用程序使用最新版本的主干,所以我不知道是否有更改使我在这里所做的工作中断或发生了什么。 Google整天对我没有任何帮助。
我有一个集合,正在分解,并将各个模型发送给视图。 视图报告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);
}
});
你可能已经扩展Backbone.Model
,你应该已经扩展Backbone.View
变化Backbone.Model.extend
在代码Backbone.View.extend
,使用创建主干模型Backbone.Model
然后通过这个模型可以查看,当您启动它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.