Javascript ExtJS 4集读取器
我有一个JSON,应用程序中的其他部分多次使用它。 为了避免不必要的调用,我想获取它,而不仅仅是使用它 在需要的地方 问题是,JSON包含不同部分的不同部分, 这就是为什么我需要使用Javascript ExtJS 4集读取器,javascript,ajax,model-view-controller,extjs,extjs4,Javascript,Ajax,Model View Controller,Extjs,Extjs4,我有一个JSON,应用程序中的其他部分多次使用它。 为了避免不必要的调用,我想获取它,而不仅仅是使用它 在需要的地方 问题是,JSON包含不同部分的不同部分, 这就是为什么我需要使用root属性 我需要的是: -代理,它将获取一个代理(一个代理) -每个部分的读取器,因为它们使用不同的根 -储存不同的零件 代理: var myProxy = new Ext.data.proxy.Ajax({ url: "static/data/myData.json" }); var operat
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);
某些部分:
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);
当然,这是行不通的。我该怎么做?您最好使用AJAX获取JSON,将其缓存在某个变量中,然后使用存储的
loadData
方法根据需要填充每个存储loadData
允许您手动添加记录,而无需转到远程数据源。这将给你更严格的控制,而不必处理代理;只有读者和商店