我在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或load方法。如果负载很昂贵,我怎么能避免多次调用呢?
答案 0 :(得分:1)
getAccountsStore
是对集合中引用的查找,立即查找。 load
当然很贵。它加载商店中的所有数据,将每个记录实例化为模型对象。
通常情况下,您不需要多次拨打load
,除非您的数据发生变化,并且您想要刷新。
如果您使用分页存储,则可以减少加载时间。这只会将一页数据加载到商店中。在您的情况下,这可能是可接受的,也可能是不可接受的。