Javascript 是否可以动态创建JayData实体/模型/上下文?
是否可以动态创建JayData实体模型和上下文?然后使用它们 我进行一个Ajax调用,然后执行以下操作Javascript 是否可以动态创建JayData实体/模型/上下文?,javascript,jquery,jaydata,Javascript,Jquery,Jaydata,是否可以动态创建JayData实体模型和上下文?然后使用它们 我进行一个Ajax调用,然后执行以下操作 function prepareEntityModel(json) { // var entity = { // Id: { type: "int", key:true }, // Name: { type: "string" }, // }); $data.Entity.extend("someData" + id, entity); } 然后
function prepareEntityModel(json)
{
// var entity = {
// Id: { type: "int", key:true },
// Name: { type: "string" },
// });
$data.Entity.extend("someData" + id, entity);
}
然后我尝试创建一个上下文。令我惊讶的是,这似乎奏效了:var t=“someData”+81
function createContext(t)
{
$data.EntityContext.extend(t + "Context", {
t: { type: $data.EntitySet, elementType: t },
});
var fn = eval(t + "Context");
var context = new fn({
name: "webSql",
databaseName: "aDB"
});
return context;
}
上下文甚至似乎对onReady()
事件做出响应。但该表是用名称“t”创建的。在这一点上,我基本上求助于猜测。在上下文中,我无法通过Context[“someData”+id.addMany(data);
我使用JayData的时间不到24小时,因此,如果这是一个毫无意义的术语,我向您道歉。当您声明一个类型时,您会得到类型定义,如
var mytype = $data.Entity.extend("someData" + id, entity);
var newInstance = new mytype();
声明上下文时,还将返回上下文定义,无需eval()
可以使用“tableName”参数(更容易)指定表名,也可以为entityset指定一个好的名称(更难),例如:
var contextDef = {};
contextDef[t] = { type: $data.EntitySet, elementType: t };
var fn = $data.EntityContext.extend(t + "Context", contextDef);
希望这能有所帮助,请不要犹豫,在这里或我们的论坛上询问更多问题。当您遇到问题时,最好的方法是创建一个小JSFIDLE来演示问题。当您声明类型时,您会得到类型定义,如
var mytype = $data.Entity.extend("someData" + id, entity);
var newInstance = new mytype();
声明上下文时,还将返回上下文定义,无需eval()
可以使用“tableName”参数(更容易)指定表名,也可以为entityset指定一个好的名称(更难),例如:
var contextDef = {};
contextDef[t] = { type: $data.EntitySet, elementType: t };
var fn = $data.EntityContext.extend(t + "Context", contextDef);
希望这能有所帮助,请不要犹豫,在这里或我们的论坛上提出更多问题。当你遇到问题时,最好的方法是创建一个小JSFIDLE来演示问题。嘿,我喜欢“你就是男人!”这一点!我正在研究你的建议(最后逃出来吃午饭).你就是那个人!我只是想给出一个更专业的答案:)你能告诉我们你对动态模型有什么想法吗?我们允许用户定义他们的数据,因此它的结构,所以设备上的存储机制/结构必须是灵活的。嘿,我喜欢“你就是那个人!”这一点!我正在研究你的建议(终于逃出来吃午饭了)。你就是那个人!我刚搬走是为了给你一个更专业的回答:)你能告诉我们你对动态模型有什么想法吗?我们允许用户定义他们的数据,因此它的结构,所以设备上的存储机制/结构必须是灵活的。