Sencha extjs запускается после завершения загрузки storemanager? - PullRequest
0 голосов
/ 04 октября 2018

При разработке приложения я запускаю некоторый код при запуске приложения:

Ext.application({
    extend: 'TestApp.Application',

    name: 'TestApp',

    requires: [
        'TestApp.*'
    ],

    // The name of the initial view to create.
    launch: async function () {
        const store_org = Ext.getStore('Organizations');
        const store_event = Ext.getStore('Events');
        //more stuff here
    }
});

Оба хранилища четко определены:

Ext.define('TestApp.store.Organization', {
    extend: 'Ext.data.Store',
    storeId: 'Organizations',
    alias: 'store.organizations',

    model: 'TestApp.model.Organization',
    autoLoad: true,

    pageSize: 0,


    proxy: {
        type: 'ajax',
        url: TestApp.util.Config.getHost() + '/organization/get-organizations',
        withCredentials: true,
        reader: {
            type: 'json',
            rootProperty: '',
        },
    },
});

Однако я замечаю, что при запуске Ext.getStore()Функция всегда возвращает undefined для любого магазина.Можно ли как-нибудь «отсрочить» это до того момента, когда менеджер магазина полностью загрузится, и эти магазины больше не будут возвращать undefined?(Сами магазины не будут заполнены данными ...).

1 Ответ

0 голосов
/ 04 октября 2018

Просто добавьте это в класс Ext.application или в TestApp.application (что лучше)

stores:['TestApp.store.Organization'],

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

Вот рабочий пример Fiddle

...