getCount магазина возвращает предыдущий счет

У меня есть приложение, которое позволяет пользователю вводить критерии поиска, а результаты заносятся из магазина в таблицу. Я пытаюсь отобразить сообщение, если в таблице нет результатов. Я загружаю магазин в свой контроллер нажатием кнопки, как показано ниже:

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

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

С помощью var count я пытаюсь получить количество мест в магазине, но все, что я, кажется, получаю, это 0 в первый раз, а затем количество предыдущего поиска оттуда. Кто-нибудь знает, как я могу это отсортировать? Я попробовал это решение, но не смог заставить его работать

Обновлять:

Приставка:

 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();  

person paulpwr    schedule 13.04.2013    source источник


Ответы (1)


Возможно, ваш магазин еще не загружен, когда он выполняет getCount();

Стараться сделать

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

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

Надеюсь это поможет

person Titouan de Bailleul    schedule 13.04.2013
comment
Это работает, но по какой-то причине каждый раз, когда я нажимаю функцию касания кнопки, теперь она вызывает функцию столько раз, сколько раз была нажата кнопка. Взгляните на обновление, которое у меня есть выше, оно показывает, как я реализовал код, и результаты в музее консоли | художественная галерея отмечают каждый раз, когда я нажимаю кнопку, и, как вы можете видеть, количество выполнений увеличивается. - person paulpwr; 13.04.2013
comment
Попробуйте добавить параметры в метод on() - { single: true } - person sha; 15.04.2013