2012-02-07 65 views
0

我有一个JSON,被应用程序中的其他部分使用了几次。 为了避免不必要的通话,我想取回它,并且只在需要的地方使用它 。ExtJS 4 Set Reader

问题是,JSON为不同的部分不同的部分, 这就是为什么我需要使用root属性。

我需要什么: - 代理将获取它的人(我为人人) - 读者的每个部分,因为他们使用不同的根 - 商店不同部位

代理:

var myProxy = new Ext.data.proxy.Ajax({ 
     url: "static/data/myData.json" 
}); 

var operation = new Ext.data.Operation({ 
     action: "read" 
}); 

myProxy.read(operation); 

有些部分:

// try to create custom reader with appropriate root 
var reader = new Ext.data.reader.Json({ 
    root: "table1" 
}); 

// set reader to proxy 
myProxy.setReader(reader); 

// create store 
Ext.create("Ext.data.Store", { 
    storeId: "MyStore", 
    model: "MyModel", 
    autoLoad: true 
}); 

// set proxy to store 
Ext.data.StoreManager.lookup("MyStore").setProxy(proxy); 

当然,这是行不通的。我该怎么做?

回答

0

您最好使用AJAX获取获取JSON,将其缓存到某个变量中,然后使用商店的loadData方法根据需要填充每个商店。 loadData可让您手动添加记录而无需转到远程数据源。这会让你更加严格的控制,而不必处理代理;只是读者和商店。

+0

是的,你可以写一个示例代码。 – 2012-02-07 13:07:54