这个问题与另一个问题相关:
EXTjs gridfilter: How to clearfilter without reloading store?
我的想法是:
如果有1个存储,并且有两个函数(f1)和(f2),并且这两个函数都调用store.load()。
f1和f2都将被调用,并且顺序不受保证。有没有办法让f1检查f2是否已经加载了存储(反之亦然),如果加载了存储,则跳过f1的store.load命令。
我正在寻找的是一种方法,比如:
f1() {
if (!store.isLoadedAsPartOfThisRequest() //true/false){
store.load(params);
}
}这个是可能的吗?
发布于 2012-07-13 09:03:34
使用store.getCount()无疑是一种粗糙的解决方案,如果加载的记录恰好为空,则会产生不准确的结果。
Sencha支持呈现了一个solution
‘检查应用商店中是否有lastOptions,如果存在,则您的应用商店至少已加载一次。’
看起来lastOptions不再是ExtJS 4.1的一部分了。作为一种变通方法,可以将"isLoaded“布尔值作为存储加载覆盖的一部分来包含和设置。
发布于 2011-02-17 00:09:20
下面是我对这个问题的看法:为每个商店设置两个布尔变量。两者最初都将设置为false (表示未加载存储)。
现在,这两个存储都将有一个用于“load”事件的侦听器方法。如果加载了存储,则侦听器方法将简单地设置布尔变量。
因此,在您的f1和f2中,您将检查调用reload的布尔值。同时,您需要找到何时何地再次将布尔变量设置为false。
我希望这对你有帮助。
https://stackoverflow.com/questions/5018449
复制相似问题