Метод store.load в сложности времени extjs

У меня есть функция в EXTJS, которую я получаю хранилище от контроллера, а затем загружаю его.

functionName: function (controller) {   
    return function() {

        Ext.widget('callWindow');
        var variable= cotroller.getCallWindowPopup();
        controller.getAccountsStore().load({
            params: {
                source_system_id: ssid
            },
            callback: function (records) {
                variable.loadRecord(records[0]);
            }
        });
    }

}

Хранилище учетных записей - это магазин json, в котором может быть несколько тысяч записей. Какая из операций здесь дорогая? getAccountsStore или метод загрузки. Если загрузка дорогая, как я могу избежать вызова несколько раз?

1 ответ

Решение

getAccountsStore это поиск ссылки в коллекции, ее немедленное. load конечно дорого. Он загружает все данные в хранилище, создавая каждую запись как объект модели.

Обычно вам не нужно звонить load более одного раза, если ваши данные не изменились, и вы хотите обновить.

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

Другие вопросы по тегам