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

时间:2012-08-22 08:31:51

标签: extjs model load store

我为网格使用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'
            }
        }
});

有没有办法只加载一次服务并将其用于三种型号?这样可以节省一些加载时间。

1 个答案:

答案 0 :(得分:1)

您可以加载一次存储然后克隆它,这样您就可以再创建两个本地副本。

更新:这里是简单克隆商店功能的例子:

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;
}