应用程序刷新后,Extjs Store显示零记录

时间:2016-03-26 07:28:50

标签: mysql extjs store extjs4.2

当我从执行以下任务的控制器调用一个函数时,

var store= new Ext.getStore('MyStore'); //The store gets its data from mysql db
store.load(); 
console.log(store.getTotalCount());

在应用程序刷新后第一次显示总计数为零,并显示实际计数,即存储中用于后续调用函数的实际行数。

如果有人能指导我解决问题,我真的很感激。

2 个答案:

答案 0 :(得分:1)

由于store.load()是异步的(我假设您使用像ajax这样的远程代理),并且在第一次使用它时调用store.getTotalCount()后立即调用store.load(),因此尚未加载存储。

你必须检查totalCount withink store load callback,如下所示:

var store= Ext.getStore('MyStore'); //The store gets its data from mysql db
store.load({
    callback: function() {
        console.log(store.getTotalCount());
    }
}); 

答案 1 :(得分:0)

var store= new Ext.getStore('MyStore'); //The store gets its data from mysql db
store.load(); 
console.log(store.getTotalCount());

我不确定你是否应该在第一行使用new关键字。商店的引用方式如下 -

var store = Ext.getStore('MyStore');

此外,请确保您的服务返回总计数,但这是非常不可能的,因为您说您可以看到后续呼叫的正确计数。只需尝试删除新关键字并告诉我。