我的应用程序中有几家商店。在加载网格之前不会创建它们,网格应该调用store.load()函数。因此,一些组件可能需要尚未创建的存储。我使用这个函数来解决这个问题:
getOrCreateStore: function(storeId, className){
return (Ext.getStore(storeId) == undefined) ? Ext.create(className) : Ext.getStore(storeId);
},因此,每次组件需要特定的存储时,如果创建,我会调用它,如果不存在,则调用它。
有没有更好的方法来创建商店,这样我就不用手工操作了?在我的ExtJS 4应用程序中,是否有一些关于创建商店的配置是我错过的?
我使用上述修复方法的原因是,如果没有首先创建存储,网格将保持为空。
发布于 2014-06-26 13:01:30
请参阅http://docs-origin.sencha.com/extjs/4.2.2/#!/api/Ext.data.StoreManager
storeId。||操作。码
getOrCreateStore: function(storeId, className){
return Ext.getStore(storeId) || Ext.create(className, {storeId: storeId});
}Side :我认为大多数Ext的经理都是错误的做法。它们不过是美化的全球变量。我更喜欢在需要它们的地方转悠,而不是把它们添加到全球状态。但是,我确实理解,在某些情况下,这会使编程更容易,而且如果您希望这种延迟加载存储(我不确定这会对您有多大好处),这是一条道路。我只是警告你,这往往会使维护和单元测试更加困难。
https://stackoverflow.com/questions/24431085
复制相似问题