当我从执行以下任务的控制器调用一个函数时,
var store= new Ext.getStore('MyStore'); //The store gets its data from mysql db
store.load();
console.log(store.getTotalCount());
在应用程序刷新后第一次显示总计数为零,并显示实际计数,即存储中用于后续调用函数的实际行数。
如果有人能指导我解决问题,我真的很感激。
答案 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');
此外,请确保您的服务返回总计数,但这是非常不可能的,因为您说您可以看到后续呼叫的正确计数。只需尝试删除新关键字并告诉我。