2014-02-19 3 views
0

Я новичок в extJS. У меня есть приложение с основным контроллером, который правильно запускает новое представление. Представление представляет данные, поступающие из связанного с ним хранилища. Я призываю команду загрузки внутри функции вид инициализации:Правильно ли вызывать store.load() в представлении init?

var store = this.getStore(); 
    .... 
    this.getStore().load(); 

это не должно быть правильным, на мой взгляд, даже если бы я нашел несколько примеров, как приведенный выше код. Есть ли лучшее событие для перехвата с контроллера для загрузки данных и правильного отображения представления?

+0

Это зависит. Если нагрузка асинхронна, то к тому времени, когда она загружается, все будет уже обработано. –

+0

На самом деле это асинхронно. И в настоящее время у меня есть надлежащее отображение прогресса «laoding» в представлении –

+3

В этом случае я просто загружу его в контроллер в том же месте, где я создаю представление. Или установите 'autoLoad' в хранилище, если вы создаете экземпляр при создании представления. –

ответ

0

Ну, вы можете сделать что-то подобное в своем контроллере, чтобы убедиться, что представление не отображается до того, как на самом деле загружен магазин.

var store = Ext.getStore('store'); 
store.on('load', function(store) { 

// if the store is correctly loaded show the view 

}); 

И настройте свой вид на конфигурационный параметр «store» в ваш магазин. Вы можете получить свои данные в tpl, используя {store_value}.

Смежные вопросы