2

当用户单击排序时,我试图加载/刷新页面一次。目前页面在后台多次获取数据,但在视觉上数据显示完全正确,数据显示没有问题。

我担心的是性能调整,我试图减少一次对数据的后台获取请求。(当我使用 firbug 控制台并转到 >net tab >ALL 时,我注意到在时钟排序时有几个 Get url 请求).. 我会宁愿做一次或两次)

我正在考虑添加一个计数器以在计数器达到一两个时切断。下面的代码。

当用户点击排序时,最好的方法是什么?

  this.view.panel.store.addListener("load", dataLoadedCallback);  

    var currentPage = this.view.panel.store.getPageFromRecordIndex(visibleStart);

container.view.panel.store.loadPage(currentPage);  


 // Call Back function for addListener
    function dataLoadedCallback(dataStore, records, success){

 //I have some code hereto handle the callback

}
4

2 回答 2

1

这不应该发生。商店的数据应该加载一次以进行初始显示和每次排序(当然,如果你是远程排序的话)。我想知道您是否在强制更多负载的排序事件上设置了额外的侦听器?

于 2012-06-04T05:57:42.437 回答
0

要添加到@DmitryB 答案中-如果您添加侦听器的第一行代码被多次调用-您将有多个load处理程序,并且您的函数将执行一次以上。

如果您需要确保只调用一次处理程序 - 检查optionsaddListener 中的参数并传递{ single: true }

于 2012-06-04T11:55:45.760 回答