0

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

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

4

1 回答 1

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;
}
于 2012-08-22T11:47:12.757 回答