我陷入了一个非常烦人的问题,并决定寻求帮助,因为错误很难弄清楚。
我在一个单页应用程序中有一个 Marionette Layout 视图,它表示切换出的面板。在我尝试将 CollectionView 添加为布局的子项之前,它工作正常。我做错了什么,但我得到的错误不是很有帮助。
我收到此错误:
Uncaught TypeError: undefined is not a function backbone.marionette.js:1240
Marionette.CollectionView.Marionette.View.extend._initChildViewStorage backbone.marionette.js:1240
Marionette.CollectionView.Marionette.View.extend.constructor backbone.marionette.js:1014
child backbone.js:1531
Marionette.Layout.extend.initialize
我无法弄清楚在这种情况下我需要定义什么功能。
这是我的“页面”布局(因为它位于 require 包装器中)
return Marionette.Layout.extend({
template: Template,
className: "page",
initialize: function(options) {
this.collection = new DataSet();
this.collection.fetch();
// ADD THE VIEW
var dataview = new DrinkCollectionView( { collection:this.collection } );
// SHOW THE VIEW
this.content.show( dataview );
},
regions: {
content: "#page-content"
},
});
这是我正在尝试使用的 CollectionView。我已经把它归结为最低限度,试图让它在没有运气的情况下工作。
return Marionette.CollectionView.extend({
collection: MyDataSet,
itemView: MyItemView,
});
我假设我在 init 方法中创建东西时做错了,但我不确定这样做的正确方法是什么。
任何帮助将不胜感激。
谢谢,G