2012-05-02 7 views
0

Extjs4のネストされたモデルに似た、ネストされたストアを持つことができるかどうかは不思議でした。 同じモデルを使用している10個のドロップダウンと10個のグリッドがあるからこそ、私はこれを考えています。したがって、私はドロップダウンのための10の店とグリッドのための10の店を持っています。Extjs4のネストされたストア

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

これは正しいアプローチですか?同じページに複数の店舗(約20:0)があるという欠点があります。

お勧めです。 :)

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

おかげ Punith

答えて

0

それは本当に「ネストされた」店ではありません...彼らは同じモデルを使用しているという事実は、ネストされたとは何の関係もありません。

私はページの店舗数がそれ以上では心配しません。例えば、グリッド数について心配します。あなたのケースの店舗は、データの配列の役割を果たすだけです。

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

+0

ネストされたストアとして参照されていないのは、同じモデルを参照しているからです。 Extjs4では、単一のABCModel.jsを持つことができ、モデルを出てくる多くのコンポーネントを定義することができます。したがって、私の質問をもう一度解くために、私は10店舗(すなわち、10 .jsファイル)と10グリッド(店舗用の10.jsファイル)を持っています。これは適切なアプローチですか、これらのすべてを単一の.jsファイルでプッシュすることができます。 –

+0

正しいアプローチです。 – sha

+0

ありがとう、私はちょっと混乱していました。この提案では、「必要なのは、あるストアをフィルタリングして、他のストアオブジェクトに結果のクローンを作成することです。はい、私はまったく同じことをやっています。ストアAの応答で私は店舗BのルートとloadData()に基づいてデータを取り出しています。ありがとうPunith –

関連する問題