加载相同类型的嵌套JSON存储

时间:2013-05-08 20:53:03

标签: javascript extjs

我已经找到了很多关于如何在子项是不同的模型类型时加载嵌套JSON存储的示例,但是我没有找到任何显示如何在所有子项都是相同的类型。我有这样的JSON数据:

{ 
    "ID": "id213",
    "Name": "ItemName",
    "ChildElements": [
       {
           "ID": "id321",
           "Name": "ItemName2",
           "ChildElements": [  //contains children  ]
       },
       { 
           "ID": "id32154",
           "Name": "ItemName3",               
           "ChildElements": [  //contains children ]
       }
    ]
}

我的模型看起来像这样:

Ext.define('App.model.ElementsModel', {
    extend: 'Ext.data.Model',
    fields: [ 
        {
            name: 'Name'
        }
    ],
    hasMany: {
        model: 'ElementsModel',
        name: 'ChildElements'
      },
    proxy: {
           type: 'ajax',
           url: 'elements.json',
           reader: {
              type: 'json',
              idProperty: 'ID'
           }
    }
});

当我加载商店时,没有加载任何子元素。我做错了什么?

1 个答案:

答案 0 :(得分:0)

结果我需要指定一个完整的限定名称作为关联模型:

 hasMany: {
        model: 'App.model.ElementsModel',
        name: 'ChildElements'
      },