2012-02-07 4 views
0

애플리케이션의 다른 부분에서 몇 번 사용되는 JSON이 있습니다. 불필요한 호출을 피하기 위해 필요한 정보를 가져오고 싶습니다. 을 사용해야합니다.ExtJS 4 세트 리더

문제는 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

예, 샘플 코드를 제공해 주시겠습니까? –