2013-04-29 68 views
0

我对数据存储中的extjs'root'参数没有清晰的认识。什么是根参数中的extjs数据存储

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

我觉得这个非常小的事情,但我很新的ExtJS的,请向我解释什么是使用这个根以上数据撕毁

回答

1

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

你的情况,这将是:

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

读者用来解释数据加载到模型实例或商店 - 往往以响应AJAX请求。一般来说,通常没有必要直接创建阅读器情况下,因为一个阅读器几乎总是与代理一起使用,并且使用所述代理服务器的读写器配置属性

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结构,我们有两个属性(键:值对)“。用户的‘作为“成功” AMD用户’键具有对象的数组,我们将在商店中使用它,所以在这个json中,我们将为我们的读者使用“users”属性,所以只有我们提到“users”为root为那家商店。

回顾一下,root是一个配置,它会告诉我的商店中哪些属性/对象即将用于消费json。

谢谢

+0

就像一个笔记,如果你想使用分页,也需要发送总属性以及。 – 2013-04-29 06:47:04

相关问题