Javascript 错误:。。不是主干中的构造函数
我有一个非常基本的模型和控制器。但是当我执行脚本时,我得到以下错误:Javascript 错误:。。不是主干中的构造函数,javascript,backbone.js,requirejs,Javascript,Backbone.js,Requirejs,我有一个非常基本的模型和控制器。但是当我执行脚本时,我得到以下错误:uncaughttypeerror:dropdownModel不是构造函数 型号: define(['backbone'], function(Backbone) { var dropdownModel = Backbone.Model.extend(); return { dropdownModel: dropdownModel }; }); define(['backbone', '
uncaughttypeerror:dropdownModel不是构造函数
型号:
define(['backbone'], function(Backbone) {
var dropdownModel = Backbone.Model.extend();
return {
dropdownModel: dropdownModel
};
});
define(['backbone', 'dropdownModel'],
function(Backbone, dropdownModel )
{
var dropdownModel = new dropdownModel({});
});
requirejs.config({
baseUrl: "../Scripts",
paths: {
requireLib: "../Scripts/require",
dropdownModel: "../Models/dropdownModel",
firstDashboardController: "../Controller/firstDashboardController",
}
});
控制器:
define(['backbone'], function(Backbone) {
var dropdownModel = Backbone.Model.extend();
return {
dropdownModel: dropdownModel
};
});
define(['backbone', 'dropdownModel'],
function(Backbone, dropdownModel )
{
var dropdownModel = new dropdownModel({});
});
requirejs.config({
baseUrl: "../Scripts",
paths: {
requireLib: "../Scripts/require",
dropdownModel: "../Models/dropdownModel",
firstDashboardController: "../Controller/firstDashboardController",
}
});
需要模块:
define(['backbone'], function(Backbone) {
var dropdownModel = Backbone.Model.extend();
return {
dropdownModel: dropdownModel
};
});
define(['backbone', 'dropdownModel'],
function(Backbone, dropdownModel )
{
var dropdownModel = new dropdownModel({});
});
requirejs.config({
baseUrl: "../Scripts",
paths: {
requireLib: "../Scripts/require",
dropdownModel: "../Models/dropdownModel",
firstDashboardController: "../Controller/firstDashboardController",
}
});
您正在导出对象,而不是此行上的模型本身:
return {
dropdownModel: dropdownModel
};
您可能只想这样做:
return dropdownModel;
您正在导出对象,而不是此行上的模型本身:
return {
dropdownModel: dropdownModel
};
您可能只想这样做:
return dropdownModel;
您应该记录什么是
dropdownModel
。它可能是一个对象,您可能需要在模型文件中执行新建dropdownModel.dropdownModel()
,或者简单地返回dropdownModel
,您是对的。成功了。你能不能把它作为一个答案,这样它会帮助别人。另外,这是否意味着当我把varx=newx()放进去时代码>我基本上是在创建整个文件的实例,这毫无意义。但是当我执行var x=new x.x()
时,实际上我正在调用类x
。你能解释一下你的答案吗。谢谢<代码>新建
只能在函数或类上调用。在您的示例中,您试图对对象调用new
dropdownModel.dropdownModel
只是对实际函数(您创建的扩展模型)的引用。顺便说一句,您真的应该将您的模型称为dropdownModel
,实例称为dropdownModel
,否则您会让试图阅读您的代码的人感到困惑。我自己也感到困惑。事实上,为了让事情顺利进行,我在任何地方都使用相同的方法。但我认为这很糟糕。我会注意你的建议。你应该记录什么是dropdownModel
。它可能是一个对象,您可能需要在模型文件中执行新建dropdownModel.dropdownModel()
,或者简单地返回dropdownModel
,您是对的。成功了。你能不能把它作为一个答案,这样它会帮助别人。另外,这是否意味着当我把varx=newx()放进去时代码>我基本上是在创建整个文件的实例,这毫无意义。但是当我执行var x=new x.x()
时,实际上我正在调用类x
。你能解释一下你的答案吗。谢谢<代码>新建
只能在函数或类上调用。在您的示例中,您试图对对象调用new
dropdownModel.dropdownModel
只是对实际函数(您创建的扩展模型)的引用。顺便说一句,您真的应该将您的模型称为dropdownModel
,实例称为dropdownModel
,否则您会让试图阅读您的代码的人感到困惑。我自己也感到困惑。事实上,为了让事情顺利进行,我在任何地方都使用相同的方法。但我认为这很糟糕。我会注意你的建议。