Extjs LoadPage:如何减少后台获取uri请求的数量

时间:2012-06-04 00:47:16

标签: javascript extjs extjs4

我正在尝试在用户点击排序时加载/刷新页面一次。目前,页面在后台背景中几次获取数据,但在视觉上数据显示完全正确,没有数据显示的问题。

我的观点是性能调整,我试图减少对数据的后台获取请求一次。(当我使用firbug控制台并转到> net tab> ALL时,我注意到当我按时排序时获取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

}

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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