我得到「沒有方法」結果'backbone.marionette.js:402錯誤「。這裏的痕跡:在Marionettte /骨幹應用程序沒有方法錯誤
Uncaught TypeError: Object function (obj) { return new wrapper(obj); } has no method 'result' backbone.marionette.js:402
Marionette.CollectionView.Marionette.View.extend.buildItemView backbone.marionette.js:402
Marionette.CollectionView.Marionette.View.extend.addItemView backbone.marionette.js:360
Marionette.CollectionView.Marionette.View.extend.showCollection backbone.marionette.js:314
...
在backbone.marionette.js:
// Build an `itemView` for every model in the collection.
buildItemView: function(item, ItemView){
var itemViewOptions = _.result(this, "itemViewOptions");
***Uncaught TypeError: Object function (obj) { return new wrapper(obj); } has no method 'result' ***
var options = _.extend({model: item}, itemViewOptions);
var view = new ItemView(options);
return view;
backbone. },
我的調用代碼:
MyApp.module("CatalogsApp.Pasteboard", function(Pasteboard, MyApp, Backbone, Marionette, $, _) {
var CatalogListView, CatalogView;
CatalogView = Marionette.ItemView.extend({
tagName: "div",
className: "catalog-cell",
template: "catalogs/catalog"
});
CatalogListView = Marionette.CollectionView.extend({
tagName: "div",
className: "paste-board",
itemView: catalogView
});
Pasteboard.showCatalogs = function(catalogList) {
var catalogListView;
catalogListView = new CatalogListView({
collection: catalogList
});
return MyApp.layout.main.show(catalogListView);
};
});
如果任何人有任何線索什麼可能成爲問題在這裏導致類型錯誤 - 很好的想法。我幾乎在那裏我可以告訴。 catalogList集合看起來很好 - 從服務器填充。我知道這可能很難破譯,但也許有人對如何解決問題有一些想法。
我必須道歉,因爲我實際上有我的代碼中的大寫(上面只是編輯)。由於客戶機密性,我必須查找/替換以更改變量名稱。當我這樣做時,我把帽子擰了。上面的代碼被糾正爲這樣,所以錯誤/問題仍然適用於此更新的代碼。 tx發現這一點。 – dnewman
只需再糾正一次,在視圖實例化過程中,您仍然有'new catalogListView' – marcoo
以及CollectionView類'itemView:catalogView' – marcoo