Edited at

Ext JS の ViewModel で共通の Store を使う

More than 3 years have passed since last update.

Ext JS の MVVM で ViewModel の stores でストアを定義できます。

Version 4 以前の様に store 下のグローバルなストアは使わない方向です。

しかし、あっちのビューでもこっちのビューでも使われる Store ってありますね。

そんな時には Store クラスを定義しておいて、それを ViewModel で使います。

Ext.define('MyApp.store.SomeStore', {

extend: 'Ext.data.Store'.
alias : 'store.somestore',
model : 'MyApp.model.SomeModel',
proxy: {
type: 'ajax',
url : 'hoge/fuga.php',
reader: {
type: 'json',
rootProperty: 'data
}
}
});

適当ですがこんな感じの store を定義します。

2行目の alias コンフィグがポイントです。

これを、ViewModel で使うには次のようにします。

stores : {

someStore: {
type: 'somestore'
}
}

これで、ViewModel に proxy 定義つきのストア定義を重複して書かなくてもよくなります。