APP.store.Posts
3回インスタンス化したいお店があります。これらはすべて同じタイプのデータを保持しますが、リロード、ページングなどの際に異なるパラメーターを使用します。コントローラーでは、onLaunch
関数でこれを行います。
onLaunch: function() {
Ext.create('APP.store.Posts',{
storeId: 'unclassifiedPosts'
});
Ext.create('APP.store.Posts',{
storeId: 'positivePosts'
});
Ext.create('APP.store.Posts',{
storeId: 'negativePosts'
});
},
その後beforerender
、コントローラーで作成したリスナーメソッドで、次のようにします。
beforeRenderPostsGrid: function(grid) {
var store = Ext.getStore('unclassifiedPosts');
store.load();
},
beforeRenderPositivePostsGrid: function(grid) {
var store = Ext.getStore('positivePosts');
store.getProxy().extraParams = {'some_param' : 'some_value'};
store.load();
var checkOtherStore = Ext.getStore('unclassifiedPosts'); //THIS STORE NOW HAS SAME PARAMS AS positivePosts STORE
},
問題は、どちらのbeforerrender
グリッドが最後に呼び出されても、3つのストアすべてにそれらのパラメーターがあることです。したがって、初期ロードは問題ありませんが、更新やページングなどを行うと、すべて同じデータが表示されます。各ストアのプロキシには、どういうわけか同じextraParamがあります。
私が理解したことから、storeId
パラメーターは私のストアをユニークにするはずだったので、私はステップを逃していますか?