Я создаю веб-приложение sencha с помощью sencha touch 2.2.1. В моем приложении у меня есть экран, который состоит из контейнера, где я добавил несколько панелей. Одна панель состоит из двух панелей, верхней панели и внутренней панели.sencha apps замедляется при рендеринге на линии ui
При инициализации страницы я вызываю ajax api, чтобы получить список данных для верхней панели каждого элемента в контейнере. и на верхней панели щелкнули, я вызываю api для этого элемента для извлечения данных для внутренней панели. По завершении api я передаю данные на внутреннюю панель и сделаю панель видимой. Этот код одинаковый для всех элементов в контейнере на верхней панели.
Существует также кнопка вверху, чтобы «expandAll», которая вызовет api для всех элементов цикла for один за другим и данные рендеринга для каждой внутренней панели. Сначала я вызываю один api, а затем получаю ответ от того, что я храню в магазине и рендеринг на экране, а затем вызываю следующий api, как это для всех элементов.
getDetailData:function(params){
var detailStore=Ext.getStore('DetailData');
detailStore.load({
callback:function(data,opt,success) {
detailStore.storeDetailData(data);
_this.onShowDetailData(data);
// now call next api from here until all items data fetched and displayed
}
});
}
В этом случае выборки все элементы данных и визуализации на поток пользовательского интерфейса занимает больше времени, и приложение замедляется.
Также при рендеринге данных я должен применять фильтры в хранилище для фильтрации данных перед рендерингом данных за каждый раз.
Я хотел знать, как я должен выполнять эту обработку и работу рендеринга. Поскольку вызов ajax api и выборка данных с сервера не занимает больше времени, но обработка и рендеринг занимают больше времени.
Любые suggessions на это,
благодаря
Сколько пунктов или вызовов API в целом мы говорим здесь? Насколько сложны шаблоны элементов? – OhmzTech
Минимум 10 и при максимальных звонках, которые мы получаем здесь. И шаблон элемента - сложная структура, Одна панель с макетом vbox и двумя панелями в нем, 1. Панель (layout = hbox), в которой у нас есть 5 панелей и два списка 2. Панель (layout = hbox) , поскольку у нас есть 6 списков и две панели – nleshjinde
Я решил эту проблему рендеринга. Что касается каждого компонента sencha, sencha создает свою собственную структуру. В моем приложении я использовал больше компонентов sencha со сложными видами и более внутренними компонентами. Итак, теперь я использовал одиночную панель, и я создаю отдельный html вместо более компонентов sencha и напрямую устанавливаю этот окончательный текст HTML на панель как setHtml. Таким образом, в этом случае мы переопределяем структуру sencha, и происходит простое рендеринг. – nleshjinde