为阵列设计商店模型的最佳方法?

时间:2015-10-01 20:47:00

标签: javascript extjs extjs4 extjs4.2

我需要将以下内容导入商店,但我对我需要创建的正确模型或模型感到困惑。

这是从我的服务器返回的JSON的示例。基本上它是一个包含2个项目的数组,每个项目都有一个数组。字段名称各不相同。

我怀疑我需要拥有多个模型并且有关系,但我不确定从哪里开始。有任何想法吗?感谢

[
    firstItems: [
    {
        name : "ProductA",
        key: "XYXZ",
        closed: true
    },
    {
        name : "ProductB",
        key: "AAA",
        closed: false
    }
    ],
 secondItems : [
 {
        desc : "test2",
        misc: "3333",
    },
    {
        desc : "test1",
        misc: "123"
    }

  ]
] 

2 个答案:

答案 0 :(得分:1)

你拥有的不是JSON,你的开头和结尾[]可以通过将它们更改为{}然后使用以下模型来成为JSON

然后你可以把它建模为

// Abbreviated definitions of Models, it has changed starting at Ext 5
Ext.define('FirstItem', fields: ['name', 'key', 'closed'])
Ext.define('SecondItem', fields: ['desc', 'misc'])
Ext.define('TopLevel', {
    hasMany: [
       {model: 'FirstItem', name: 'firstItems'},
       {model: 'SecondItem', name: 'secondItems'}
    ]      
})

答案 1 :(得分:0)

对商店的代理使用reader,它会在加载时创建适当的模型。 如果您需要将已加载的json加载到商店中,请使用loadRawData,但无论如何都需要读者。