2017-11-02 4 views
0

私はextjs 6.2を使ってアプリケーションを構築しました。同じデータを別の場所に表示する必要があるため、複数のグリッドとチャートを持つストアの単一インスタンスを使用したいと考えています。ストアの新しいインスタンスを作成すると、データを取得するための新しいリクエストが生成されます。どのようにして複数の場所で単一インスタンスを使用できましたか?Extjs MVCグローバルストア

おかげで、 マジッド

+0

アプリケーションオブジェクトのストア設定を使用します。 –

+0

サブパネルでアプリケーションストアにアクセスする特定の例はありますか? –

答えて

0

あなたはあなたのメインのビューコンポーネントのview modelにお店を宣言することができます。

stores: { 
    mystore: { 
     model: 'mymodel', 
     autoLoad: true 
    } 
} 

をそしてあなたはbinding経由で子孫コンポーネントにアクセスすることができます

xtype: 'grid', 
bind: { 
    store: '{mystore}' 
} 

または、アプリケーション内のどこにでもストアを作成することができます(コンポーネントによって必要とされる前に) s)に割り当てます。storeId

このストアの一意の識別子。存在する場合、このStoreは がExt.data.StoreManagerに登録され、別の場所で を再利用できるようになります。その後、

Ext.create('App.store.MyStore', {storeId: 'myStore'}); 

そしてExt.getStoreを使用してアクセス:でも

Ext.getStore('myStore') 

またはコンポーネントのストアの設定のためだけstoreIdを指定して、彼らは(グリッドが行う)これを受け入れる場合:

xtype: 'grid', 
store: 'myStore' 
+0

詳細ソリューションをありがとう。 –

+0

答えがあなたの問題を解決した場合は、それを受け入れることをお勧めします。https://stackoverflow.com/help/someone-answers – scebotari66

関連する問題