我有一個商店APP.store.Posts
,我想實例化3個不同的時間。它們都將保存相同類型的數據,但在重新加載,分頁等時將使用不同的參數。在控制器中,我在onLaunch
函數中執行此操作。在Ext.data.Store上使用storeId沒有創建唯一的實例
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家商店有這些參數。所以最初的加載是好的,但如果我做任何刷新,分頁等等。它們都顯示相同的數據B/C每個商店的代理具有相同的extraParams。
從我所瞭解的情況來看,storeId
參數應該讓我的商店獨一無二,所以我錯過了一個步驟?
代理是否在'APP.store.Posts'或其包含的模型上定義? – 2012-07-20 15:24:01
代理在模型上定義。沒有認爲這會是一個問題,但這是有道理的。 – Nathan 2012-07-20 15:35:37