我發現了很多關於如何通過數據存儲/代理(我使用直接類型)將數據加載到Ext JS 4中的網格時創建「加載」消息或掩碼的參考。Ext JS 4直銷店如何*防止*加載掩碼?
所以我在我的控制器在一個點上添加了這個(因爲我沒有得到事先加載消息):
init: function() {
var store = this.getEncountersStore();
store.on({
beforeload: function(store,operation,eopts) {
Ext.getBody().mask('Loading...');
},
load: function(store,records,success,operation,eopts) {
Ext.getBody().unmask();
}
});
}
這似乎是對我在我的MVC應用程序的工作,但是,接下來我添加任務管理器定時自動刷新每10秒格柵數據:
this.runningTask = Ext.TaskManager.start ({
run: this.loadEncounterData,
interval: 10000,
scope: this
});
loadEncounterData: function() {
var store = this.getEncountersStore();
store.load({
params: {
},
callback: function(r,options,success) {
if(success == true)
...
} //callback
}); //store.load
我注意到有現在屏幕上的兩個「裝載」面具的消息!
所以,我從我的控制器init中刪除了上面的'store.on'代碼塊,現在我只有一條消息。
那麼其他消息來自哪裏呢?
它是一個網格?:
Ext.define('ESDB.view.encounter.List', {
extend: 'Ext.grid.Panel',
...
我發現了一個page,似乎在問同一個問題的一部分,但我無法弄清楚如何得到它的工作,還是怎麼辦它根據ExtJS 4/MVC。