0

在我们正在开发的应用程序中,我们使用动态生成的配置(JSON 对象)在服务器端创建所有 JSON。我们将其用于商店(和其他东西,如 GUI),并使用动态生成的数据字段列表。

使用这样的 JSON:

{
"proxy": {
    "type": "rest",
    "url": "/feature/163",
    "timeout": 600000
},
"baseParams": {
    "node": "163"
},
"fields": [{"name": "id", "type": "int" },
    {"name": "iconCls", "type": "auto"},
    {"name": "text","type": "string"
    },{ "name": "name", "type": "auto"}
    ],
"xtype": "jsonstore",
"autoLoad": true,
"autoDestroy": true
}, ...

Ext 会轻轻地创建一个“隐式模型”,我可以使用它,将它加载到表单上,保存它,删除它等等。

我想要的是通过 JSON 配置指定的不是字段,而是模型本身。这可能吗?

就像是:

{
model: {
       name: 'MiClass',
       extends: 'Ext.data.Model',
       "proxy": {
    "type": "rest",
    "url": "/feature/163",
    "timeout": 600000},
        etc... }
"autoLoad": true,
"autoDestroy": true
}, ...

这样我就可以从服务器创建一个完整的 JSON,而不必在客户端使用 JS 语句来粘合东西。

此致,

4

2 回答 2

1

我不明白为什么不。创建模型类的语法类似于 store 和 components 的语法:

Ext.define('MyApp.model.MyClass', {
    extend:'Ext.data.Model',
    fields:[..]
});

所以如果你把它拆开,你可以调用Ext.define(className,config); whereclassName是一个字符串和config一个 JSON 对象,两者都是在服务器上生成的。

于 2012-07-19T23:43:29.210 回答
0

没有办法实现我想要的。您可以做到这一点的唯一方法是定义 Ext.data.Store 的字段并让它通过使用字段配置生成隐式模型。

于 2012-07-24T12:20:58.927 回答