Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 来自同一服务的3个不同商店_Extjs_Model_Load_Store - Fatal编程技术网

Extjs 来自同一服务的3个不同商店

Extjs 来自同一服务的3个不同商店,extjs,model,load,store,Extjs,Model,Load,Store,我的网格使用json服务。有3个网格,我使用相同的服务。我现在所做的是每次为网格加载此服务 storeGridEvents = new Ext.data.Store({ model: 'intern', proxy: { url: storeUrl, reader: { type: 'json', root: 'data' } } }); storeGridEventData = new Ext.dat

我的网格使用json服务。有3个网格,我使用相同的服务。我现在所做的是每次为网格加载此服务

storeGridEvents = new Ext.data.Store({
model: 'intern',
proxy: {
    url: storeUrl,
    reader: {
         type: 'json',
         root: 'data'
            }
        }
});

storeGridEventData = new Ext.data.Store({
model: 'dataEvents',
proxy: {
    url: storeUrl,
    reader: {
         type: 'json',
         root: 'data'
            }
        }
});

storeGridEventLocation = new Ext.data.Store({
model: 'locations',
proxy: {
    url: storeUrl,
    reader: {
         type: 'json',
         root: 'data'
            }
        }
});

有没有办法只加载一次服务,然后将其用于三种型号?这将节省一些加载时间。

您可以加载存储一次,然后克隆它,这样您将有两个以上的本地副本

更新:以下是简单克隆存储函数的示例:

cloneStore: function(store, storeClass) {
  var new_st = Ext.create(storeClass),
      recs = [];

  store.each(function(r) { recs.push(r.copy)});
  new_st.add(recs);

  return new_st;
}

好的,谢谢。我在extjs文档中找不到这个。有它的功能吗?没有。您需要自己创建函数。让我发布一些代码。