Error : CollectionView require ItemView
Error : CollectionView require ItemView
我的例子:
var stooges = [{ name: 'moe', age: 44, userid: 1},
{ name: 'larry', age: 44, userid: 2},
{ name: 'curly', age: 44, userid: 3}];
var StoogeModel = Backbone.Model.extend({});
var StoogeCollection = Backbone.Collection.extend({
model: StoogeModel
});
var StoogeItemView = Backbone.Marionette.ItemView.extend({
tagName: "tr",
template: '#stooge-template'
});
var StoogesCollectionView = Backbone.Marionette.CollectionView.extend({
tagName: "table",
childView: StoogeItemView
});
var myStooges = new StoogeCollection(stooges);
var myStoogesView = new StoogesCollectionView({ collection: myStooges });
myStoogesView.render();
document.body.appendChild(myStoogesView.el);
我在主题 backbone.js collection view example using marionette template 中阅读了这个示例,但出现错误:
marionette_backbone.js:1299 未捕获的 NoItemViewError: 必须指定 itemView
请帮帮我。
您在项目中使用 Marionette 1.x 作为依赖项,但您正在尝试使用 2.x 接口。 In 1.x CollectionView
s used an "itemView
", while 2.x changed the naming to "childView
"
将您的 StoogesCollectionView
定义更改为使用 itemView
命名应该可以解决您的问题:
var StoogesCollectionView = Backbone.Marionette.CollectionView.extend({
tagName: "table",
itemView: StoogeItemView
});
或者,您可以 Marionette 升级到更新的版本。
我的例子:
var stooges = [{ name: 'moe', age: 44, userid: 1},
{ name: 'larry', age: 44, userid: 2},
{ name: 'curly', age: 44, userid: 3}];
var StoogeModel = Backbone.Model.extend({});
var StoogeCollection = Backbone.Collection.extend({
model: StoogeModel
});
var StoogeItemView = Backbone.Marionette.ItemView.extend({
tagName: "tr",
template: '#stooge-template'
});
var StoogesCollectionView = Backbone.Marionette.CollectionView.extend({
tagName: "table",
childView: StoogeItemView
});
var myStooges = new StoogeCollection(stooges);
var myStoogesView = new StoogesCollectionView({ collection: myStooges });
myStoogesView.render();
document.body.appendChild(myStoogesView.el);
我在主题 backbone.js collection view example using marionette template 中阅读了这个示例,但出现错误:
marionette_backbone.js:1299 未捕获的 NoItemViewError: 必须指定 itemView
请帮帮我。
您在项目中使用 Marionette 1.x 作为依赖项,但您正在尝试使用 2.x 接口。 In 1.x CollectionView
s used an "itemView
", while 2.x changed the naming to "childView
"
将您的 StoogesCollectionView
定义更改为使用 itemView
命名应该可以解决您的问题:
var StoogesCollectionView = Backbone.Marionette.CollectionView.extend({
tagName: "table",
itemView: StoogeItemView
});
或者,您可以 Marionette 升级到更新的版本。