商店的getCount返回先前的计数

时间:2013-04-13 14:12:45

标签: sencha-touch sencha-touch-2 sencha-touch-2.1

我有一个应用程序,允许用户输入搜索条件,结果从商店填充到表中。如果表中没有显示结果,我会尝试显示一条消息。我点击下面的按钮在控制器中加载商店:

    Ext.StoreMgr.get('Places').getProxy().setUrl('');
    Ext.StoreMgr.get('Places').load();    

    var count = Ext.StoreMgr.get('Places').getCount();
    console.log(count);

使用var count我试图获取商店位数,但我似乎第一次得到的是0,然后从那里开始上一次搜索的计数。我有什么方法可以对此进行排序吗?我尝试了this解决方案,但无法让它工作

更新

控制台:

 museum|art_gallery| History.js:96
 10000 History.js:97
 20 History.js:116
 Results History.js:119
 museum|art_gallery| History.js:96
 10000 History.js:97
 20 History.js:116
 Results History.js:119
 20 History.js:116
 Results History.js:119
 museum|art_gallery| History.js:96
 10000 History.js:97
 20 History.js:116
 Results History.js:119
 20 History.js:116
 Results History.js:119
 20 History.js:116
 Results History.js:119

已实施的代码:

var store = Ext.StoreMgr.get('Places');
store.getProxy().setUrl('');
 store.on('load', function () {
var count = store.getCount();
console.log(count);

if (count>=1) {
console.log("Results");
 } else  if(count<=0) {
console.log("No Results");
}
});
store.load();  

1 个答案:

答案 0 :(得分:1)

也许您的商店在执行getCount();

时尚未加载

尝试

var store = Ext.StoreMgr.get('Places');

store.getProxy().setUrl('');
store.on('load', function () {
  var count = store.getCount();
  console.log(count);
});
store.load();    

希望这有帮助