在我们正在开发的应用程序中,我们使用dinamically生成的配置(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语句粘贴东西。
致以最诚挚的问候,
答案 0 :(得分:1)
我不明白为什么不。创建模型类的语法类似于商店和组件的语法:
Ext.define('MyApp.model.MyClass', {
extend:'Ext.data.Model',
fields:[..]
});
所以,如果你把它拆开,你可以致电Ext.define(className,config);
其中className
是一个字符串,config
是一个JSON对象,两者都是在服务器上生成的。
答案 1 :(得分:0)
没有办法实现我想要的。 唯一可行的方法是定义Ext.data.Store的字段,并使用字段配置生成隐式模型。