ExtJS 4设置阅读器

时间:2012-02-07 11:37:53

标签: javascript ajax model-view-controller extjs extjs4

我有一个JSON,应用程序中的其他部分使用了几次。 为了避免不必要的调用,我想获取它,而不仅仅是使用它 它需要的地方。

问题是,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);

当然,这不起作用。我该怎么做?

1 个答案:

答案 0 :(得分:0)

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