Backbone.Marionette.Controller throws "Uncaught TypeError: r.apply is not a function"
Backbone.Marionette.Controller throws "Uncaught TypeError: r.apply is not a function"
我想 运行 我的 Backbone.Marionette 应用程序,但是当我尝试这样做时,它在我的代码行中中断 (controller.js):
var appController = new MyController();
其中 MyController
看起来像:
var MyController = new Backbone.Marionette.Controller.extend({
showItems: function(options) {
this.collection = new MyCollection();
var self = this;
this.collection.fetch({
success: function(options) {
console.log("SUCCESS");
var myView = new MyCollectionView({
collection: self.collection
});
options.region.show(myView);
},
error: function(options) {
console.log("FAILED");
}
});
}
});
并显示以下错误消息:
Uncaught TypeError: r.apply is not a function
如果我看到这个错误的详细信息,它会在 backbone-min.js(行1884 年)。
// The constructor function for the new subclass is either defined by you
// (the "constructor" property in your `extend` definition), or defaulted
// by us to simply call the parent constructor.
if (protoProps && _.has(protoProps, 'constructor')) {
child = protoProps.constructor;
} else {
child = function(){ return parent.apply(this, arguments); };
}
然后,看看这个,您可以看到错误是从我的代码开始的,如下图所示。
我试图将我的代码行更改为:
var appController = MyController();
它显示了同样的错误,但现在的区别是它只在 backbone.js 代码(同一行)中中断,这真的很奇怪。
Thanks Emile, I followed your instructions but now throws the
following error in the backbone.marionette.js code:
backbone.marionette.js:19
Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined
错误很容易发现,因为它指向 Marionette code 中的以下行:
Radio = 'default' in Radio ? Radio['default'] : Radio;
这意味着 Radio
未定义。
Backbone.Radio is required for Marionette.
花点时间阅读有关如何开始使用您要使用的每个库的文档。它真的会节省你的时间。
从模态中删除新关键字,仅在实例化模态时使用新关键字
var MyController = Backbone.Marionette.Controller.extend({
var appController = new MyController();
我想 运行 我的 Backbone.Marionette 应用程序,但是当我尝试这样做时,它在我的代码行中中断 (controller.js):
var appController = new MyController();
其中 MyController
看起来像:
var MyController = new Backbone.Marionette.Controller.extend({
showItems: function(options) {
this.collection = new MyCollection();
var self = this;
this.collection.fetch({
success: function(options) {
console.log("SUCCESS");
var myView = new MyCollectionView({
collection: self.collection
});
options.region.show(myView);
},
error: function(options) {
console.log("FAILED");
}
});
}
});
并显示以下错误消息:
Uncaught TypeError: r.apply is not a function
如果我看到这个错误的详细信息,它会在 backbone-min.js(行1884 年)。
// The constructor function for the new subclass is either defined by you
// (the "constructor" property in your `extend` definition), or defaulted
// by us to simply call the parent constructor.
if (protoProps && _.has(protoProps, 'constructor')) {
child = protoProps.constructor;
} else {
child = function(){ return parent.apply(this, arguments); };
}
然后,看看这个,您可以看到错误是从我的代码开始的,如下图所示。
我试图将我的代码行更改为:
var appController = MyController();
它显示了同样的错误,但现在的区别是它只在 backbone.js 代码(同一行)中中断,这真的很奇怪。
Thanks Emile, I followed your instructions but now throws the following error in the backbone.marionette.js code:
backbone.marionette.js:19 Uncaught TypeError: Cannot use 'in' operator to search for 'default' in undefined
错误很容易发现,因为它指向 Marionette code 中的以下行:
Radio = 'default' in Radio ? Radio['default'] : Radio;
这意味着 Radio
未定义。
Backbone.Radio is required for Marionette.
花点时间阅读有关如何开始使用您要使用的每个库的文档。它真的会节省你的时间。
从模态中删除新关键字,仅在实例化模态时使用新关键字
var MyController = Backbone.Marionette.Controller.extend({
var appController = new MyController();