什么是root参数中的extjs数据存储

时间:2013-04-29 04:35:36

标签: extjs extjs3

我对数据存储中的extjs'root'参数一无所知。

  var xxx  = new Ext.data.JsonStore
  ({                        
     autoLoad: true,
     url: 'www.dataserver.com',
     root: 'data',
     idProperty: 'ID',
     fields: ['ID', 'Name']      
  });

我觉得这个小东西,但我对extjs很新,请向我解释一下这个根用于数据的用途是什么

2 个答案:

答案 0 :(得分:1)

这是JsonReader的配置。 JsonStore接受JsonReader的所有配置。 在根配置中,您将给出包含行对象数组的属性的名称。

在你的情况下,它将是:

{
    data: [
        {ID: 1, Name: "some name"},
        {ID: 2, Name: "another name"}
    ]
}

答案 1 :(得分:-1)

读者用于解释要加载到Model实例或Store中的数据 - 通常是为了响应AJAX请求。通常,通常不需要直接创建Reader实例,因为Reader几乎总是与Proxy一起使用,并且使用Proxy的reader配置属性进行配置

Ext.create('Ext.data.Store', {
    model: 'User',
    proxy: {
        type: 'ajax',
        url : 'users.json',
        reader: {
            type: 'json',
            root: 'users'
        }
    },
});

上述阅读器配置为使用如下所示的JSON字符串:

{
    "success": true,
    "users": [
        { "name": "User 1" },
        { "name": "User 2" }
    ]
}

在上面的json结构中,我们有两个属性(带键:值对)作为“success”和“users”。“users”键有对象数组,我们将在商店中使用。所以在这个json我们将为读者使用“users”属性,所以我们只提到“用户”作为该商店的root用户。

作为回顾,root是配置,它将告诉我将在消费json中使用哪个属性/对象部分。

由于