0

Extjs4 のネストされたモデルと同様に、ネストされたストアを使用できるかどうか疑問に思っていました。同じモデルを使用する 10 個のドロップダウンと 10 個のグリッドがあるという理由だけで、これを考えています。したがって、ドロップダウン用に 10 店舗、グリッド用に 10 店舗があります。

10 のドロップダウン ストアのうち、2 つのドロップダウンはサーバーからデータを取得するために ajax 呼び出しを行い、他のストアは上記の 2 つの応答データを使用し、応答を使用して独立したストアをロードします。同様にグリッドにも適用されます。

これは正しいアプローチですか?同じページに複数のストア (約 20 :O) があることの欠点。

よろしくお願いします。:)

私の質問をクリアするための小さな更新。同じモデルを参照しているため、ネストされたストアとは呼びません。Extjs4 では、単一の ABCModel.js を持ち、Model を拡張した多くのコンポーネントを定義できます。したがって、私の質問をもう一度クリアするために、10 個のストア (つまり、10 個の .js ファイル) と 10 個のグリッド (ここでもストア用の 10.js ファイル) があります。これは正しいアプローチですか、それともこれらすべてを単一の .js ファイルにプッシュできますか。

ありがとうございます

4

1 に答える 1

0

それは本当に「入れ子になった」ストアではありません...同じモデルを使用しているという事実は、入れ子になっていることとは何の関係もありません。

たとえば、グリッドの数について心配するよりも、ページ上の店舗の数について心配することはありません。あなたのケースのストアは、データの配列の役割を果たすだけです。

サーバーから 2 つ (または 4 つ) のストアを読み込み、他のコントロールのローカル コピーを作成します。異なるデータ セットを表示する場合、異なるコントロールに同じストア オブジェクトを使用することはできません。必要なことは、1 つのストアをフィルタリングし、結果のクローンを別のストア オブジェクトに作成することです。基本的に、これらのローカル ストアには 1 つまたは 2 つのフィールドしか必要ないため、単純なモデル ([id, name] など) を作成することをお勧めします。

于 2012-05-02T14:29:06.643 に答える