Метод 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
более одного раза, если ваши данные не изменились, и вы хотите обновить.
Вы можете сократить время загрузки, если вы используете постраничный магазин. Это загружает только одну страницу данных в хранилище. Это может или не может быть приемлемым в вашем контексте.