【发布时间】:2015-02-04 16:18:42
【问题描述】:
我想在 ExtJS 应用程序中同时拥有具有不同商店的同一视图的不同实例。目前我在视口中创建了同一视图(Ext.view.View)的多个实例。
但是,在每个视图中都有不同的商店的最佳做法是什么?我发现的每个示例都在使用控制器的 stores-Config 创建的视图中使用 Store-ID。但这会为每个视图使用同一个商店。
目前我想出了以下可能的解决方案:
- 为每个视图实例创建一个自己的商店类。将所有商店添加到控制器并为每个视图实例使用不同的商店 ID。
- 根本不使用控制器的存储,并在视图的 initComponent 中创建一个新的存储,手动将不同的参数传递给存储的每个实例。
- 根本不要使用控制器的存储,并在视图的 initComponent 中手动创建一个新存储。然后使用 load 手动加载商店,为商店的每个实例使用不同的参数。
这些解决方案中的任何一个是最佳实践还是应该以不同的方式完成?
【问题讨论】:
-
不加评论的投反对票太没用了……
-
这是一个公平的问题,我不明白为什么这被否决了。
-
谢谢。顺便说一句,我决定暂时使用解决方案 3,直到发布更好的解决方案。
-
我能想到的问题之一是销毁相关组件时销毁这些存储的额外代码。我的意思是,如果您在 initComponent 函数中创建商店,那么当您销毁关联的网格时,该商店可能会继续存在......
-
垃圾收集器不应该处理这个吗?如果我销毁包含对商店的引用的视图,那么商店将不再被引用吗?我认为拥有多个视图和存储类只是为了拥有具有不同存储参数的多个视图,这将是太多的开销,不是吗?
标签: extjs parameters store