2012-02-07 74 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