我有一个使用 case 返回对象的函数
function GetModel(mymodel){
var mydatamodel = null;
switch(mymodel)
{
case 'Contact':
mydatamodel = kendo.data.Model.define({
id: "__KEY",
fields: {
__KEY: { type: "string" },
__STAMP: { type: "number" },
ID: { editable: false, nullable: true },
firstName: { type: "string" },
middleName: { type: "string" },
lastName: { type: "string" }
}
});
break;
case 'Address':
mydatamodel = kendo.data.Model.define({
id: "__KEY",
fields: {
__KEY: { type: "string" },
__STAMP: { type: "number" },
ID: { editable: false, nullable: true },
street: { type: "string" }
}
});
break;
case 'ContactType':
mydatamodel = kendo.data.Model.define({
id: "__KEY",
fields: {
__KEY: { type: "string" },
__STAMP: { type: "number" },
ID: { editable: false, nullable: true },
name: { type: "string" }
}
});
break;
};
return mydatamodel
};
//Try to create new instance
var mymodel = new GetModel("Contact")
现在这个函数确实返回一个对象,但该对象与使用下面的代码创建一个新对象不同,这是我需要的
var mydatamodel = kendo.data.Model.define({
id: "__KEY",
fields: {
__KEY: { type: "string" },
__STAMP: { type: "number" },
ID: { editable: false, nullable: true },
firstName: { type: "string" },
middleName: { type: "string" },
lastName: { type: "string" }
}
});
//Create new object;
var mymodel = new mydatamodel();
这按预期工作并创建 kendoui.datamodel 的新实例,其中函数返回 kendoui.data.modal.... 作为函数而不是对象的新实例
我希望能够调用 switch 函数,因为我希望此代码位于不同的 .js 文件中,然后是用于代码分离的主 .html 页面。那么我将如何让上述函数 GetModel 以与 var = kendoui.data.model... 相同的方式运行
谢谢,
担