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

サービスを1回だけロードして、3つのモデルに使用する方法はありますか?これにより、読み込み時間を節約できます。

4

1 に答える 1

1

ストアを一度ロードしてからクローンを作成すると、さらに2つのローカルコピーが作成されます。

更新:単純なクローン作成ストア関数の例を次に示します。

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 に答える