Не созданные MVC хранилища не будут создаваться до тех пор, пока в Extjs не будет загружен видовой экран - PullRequest
1 голос
/ 16 сентября 2011

У меня есть некоторый код, который создает хранилища на лету из запроса ajax на сервер (который отправляет хранилище json). Все работает нормально, когда я проверяю DOM, хранилища уже есть.Но когда я вставляю этот код в мой app.js для создания экземпляра магазина стран:

new MA.store.Countries();

я получаю следующую ошибку:

Uncaught exception: TypeError: 'MA.store.Countries' is not a constructor

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

Ответы [ 2 ]

0 голосов
/ 21 сентября 2011

После некоторых исследований и размышлений я нашел обходной путь и, возможно, решение. Во-первых, я позволил моему окну просмотра создать без сеток, для которых требуется JJ-хранилище ajax, а затем Ext.getCmp () tabpanel моей vieport и add () и doLayout. () сетки внутри функции обратного вызова моего viewport.ajax, поэтому сетки добавляются только тогда, когда возвращается JSON и создается хранилище.

Чтобы увидеть, как я реализовал это решение в действии, вы можете проверить Источник MedAlyser

0 голосов
/ 16 сентября 2011

Вы можете попробовать:

myStore = Ext.create('MA.store.Countries', options);

Это будет обрабатывать загрузку всех классов и создание экземпляров вашего магазина.См. Ext API в Ext.create () для получения более подробной информации.

...