ケースを使用してオブジェクトを返す関数があります
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 ....を関数として返し、オブジェクトの新しいインスタンスではありません。
このコードをコード分離用のメインの.htmlページとは別の.jsファイルに入れたいので、スイッチ関数を呼び出せるようにしたいと思います。では、上記の関数GetModelをvar =kendoui.data.model...が機能しているのと同じように動作させるにはどうすればよいでしょうか。
ありがとう、
ダン