我正在使用 sencha touch 2.2.1 创建 sencha web 应用程序。在我的应用程序中,我有一个屏幕,它由一个容器组成,我在其中添加了多个面板。单个面板由两个面板组成,一个顶部面板和一个内面板。
在页面初始化时,我正在调用 ajax api 来获取容器中每个项目的顶部面板的数据列表。并在顶部面板上单击,我正在调用该项目的 api 以获取内部面板的数据。在 api 调用完成后,我将数据呈现到内部面板并使该面板可见。此代码对于单击的顶部面板上的容器中的所有项目都是相同的。
'expandAll' 顶部还有一个按钮,它将一个接一个地调用 for 循环中所有项目的 api,并为每个内部面板呈现数据。首先,我调用一个 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
}
});
}
在这种情况下,获取所有项目数据并在 ui 线程上呈现需要更多时间,并且应用程序会变慢。
此外,在渲染数据时,我必须在每次渲染数据之前应用商店过滤器来过滤数据。
我想知道我应该如何做这个处理和渲染工作。由于 ajax api 调用和从服务器获取数据不需要更多时间,但处理和渲染需要更多时间。
对此有任何建议,
谢谢