首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重用或创建新存储库- ExtJS 4

重用或创建新存储库- ExtJS 4
EN

Stack Overflow用户
提问于 2014-06-26 12:53:42
回答 1查看 1.1K关注 0票数 0

我的应用程序中有几家商店。在加载网格之前不会创建它们,网格应该调用store.load()函数。因此,一些组件可能需要尚未创建的存储。我使用这个函数来解决这个问题:

代码语言:javascript
复制
getOrCreateStore: function(storeId, className){
    return (Ext.getStore(storeId) == undefined) ? Ext.create(className) : Ext.getStore(storeId);
},

因此,每次组件需要特定的存储时,如果创建,我会调用它,如果不存在,则调用它。

有没有更好的方法来创建商店,这样我就不用手工操作了?在我的ExtJS 4应用程序中,是否有一些关于创建商店的配置是我错过的?

我使用上述修复方法的原因是,如果没有首先创建存储,网格将保持为空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-26 13:01:30

请参阅http://docs-origin.sencha.com/extjs/4.2.2/#!/api/Ext.data.StoreManager

  • 在创建该商店时,您不会给它一个storeId
  • 你的三元也可以浓缩成一个||操作。

代码语言:javascript
复制
getOrCreateStore: function(storeId, className){
    return Ext.getStore(storeId) || Ext.create(className, {storeId: storeId});
}

Side :我认为大多数Ext的经理都是错误的做法。它们不过是美化的全球变量。我更喜欢在需要它们的地方转悠,而不是把它们添加到全球状态。但是,我确实理解,在某些情况下,这会使编程更容易,而且如果您希望这种延迟加载存储(我不确定这会对您有多大好处),这是一条道路。我只是警告你,这往往会使维护和单元测试更加困难。

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

https://stackoverflow.com/questions/24431085

复制
相关文章

相似问题

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