首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Extjs有条件地跳过存储加载

Extjs有条件地跳过存储加载
EN

Stack Overflow用户
提问于 2011-02-16 23:38:21
回答 2查看 1.9K关注 0票数 0

这个问题与另一个问题相关:

EXTjs gridfilter: How to clearfilter without reloading store?

我的想法是:

如果有1个存储,并且有两个函数(f1)(f2),并且这两个函数都调用store.load()

f1f2都将被调用,并且顺序不受保证。有没有办法让f1检查f2是否已经加载了存储(反之亦然),如果加载了存储,则跳过f1store.load命令。

我正在寻找的是一种方法,比如:

代码语言:javascript
运行
复制
 f1() {
     if (!store.isLoadedAsPartOfThisRequest() //true/false){
         store.load(params);
     }
 }

这个是可能的吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-13 09:03:34

使用store.getCount()无疑是一种粗糙的解决方案,如果加载的记录恰好为空,则会产生不准确的结果。

Sencha支持呈现了一个solution

‘检查应用商店中是否有lastOptions,如果存在,则您的应用商店至少已加载一次。’

看起来lastOptions不再是ExtJS 4.1的一部分了。作为一种变通方法,可以将"isLoaded“布尔值作为存储加载覆盖的一部分来包含和设置。

票数 1
EN

Stack Overflow用户

发布于 2011-02-17 00:09:20

下面是我对这个问题的看法:为每个商店设置两个布尔变量。两者最初都将设置为false (表示未加载存储)。

现在,这两个存储都将有一个用于“load”事件的侦听器方法。如果加载了存储,则侦听器方法将简单地设置布尔变量。

因此,在您的f1和f2中,您将检查调用reload的布尔值。同时,您需要找到何时何地再次将布尔变量设置为false。

我希望这对你有帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5018449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档