Singletons Ext JS(4.2.1)和商店

时间:2013-12-05 09:56:37

标签: extjs extjs-stores

如何将商店实施为单身人士?

在Architect中,我的商店有一个属性复选框,用于添加属性

singleton: true,

如果我添加,然后重新加载它无法加载的应用程序(如果需要有关错误,我可以提供更多详细信息)

Uncaught TypeError: object is not a function VM5238:3
(anonymous function) VM5238:3
Ext.ClassManager.instantiate ext-all-debug.js:5485
(anonymous function) ext-all-debug.js:2109
Ext.define.getStore

如果我然后删除该属性它加载正常,但在我使用Ext.getStore(“MyStore”)的地方,然后返回的商店包含不同的数据,具体取决于我在哪里使用商店。我有一个控制器,我在getStore方法中使用类名,这在一个控制器内的几个函数中使用。

此外,似乎没有任何关于文档中单例属性的文档。如果我查看Ext.data.Store,就没有单例。

1 个答案:

答案 0 :(得分:3)

我建议您使用ExtJS方式处理商店和商店实例......

storeIdExt.StoreManager一起使用。请注意,每个storeId都必须是唯一的,只要您创建商店实例,它就会将自己注册到Ext.StoreManager及其storeId。您可以致电lookup('storeId')上的Ext.StoreManager来获取商店。是的,您可以在代码中的任何位置执行此操作。

例如,mixin Ext.Components(绑定商店的大多数(全部)本机组件)的所有Ext.util.Binable都可以使用分配给{{1}的storeId字符串。 } cfg属性。 Binable mixin将在StoreManager内部查找它。如果你需要自己动手

store