如何在ExtJS小部件中重用项集合数组?

如何在ExtJS小部件中重用项集合数组?,extjs,collections,extjs4,reusability,items,Extjs,Collections,Extjs4,Reusability,Items,我使用的是ExtJS4.1.1 在我使用的许多ExtJS小部件中,我需要重用数据。例如,顶部工具栏中按钮组的项集合可能会在左侧的菜单栏中重复。为了便于管理,我应该能够在一个单独的文件中定义项集合的数组(可能遵循自动加载的类命名约定) 我尝试的方法是创建一个具有静态的类。每个静态函数返回一个数组,该数组可以分配给小部件的items集合。这是可行的,但我认为如果我只使用数组,那么使用类就太过了。有什么建议吗?不确定创建单独的对象来存储工具栏、按钮组等的配置是否有用。在extjs的上下文中,几乎所有情

我使用的是ExtJS4.1.1

在我使用的许多ExtJS小部件中,我需要重用数据。例如,顶部工具栏中
按钮组
集合可能会在左侧的菜单栏中重复。为了便于管理,我应该能够在一个单独的文件中定义
集合的数组(可能遵循自动加载的类命名约定)


我尝试的方法是创建一个具有静态的类。每个静态函数返回一个数组,该数组可以分配给小部件的items集合。这是可行的,但我认为如果我只使用数组,那么使用类就太过了。有什么建议吗?

不确定创建单独的对象来存储工具栏、按钮组等的配置是否有用。在extjs的上下文中,几乎所有情况下,您不仅需要管理配置,还需要管理组件的行为

在这里,对我来说最好的方法是创建泛型/基本预定义类,您不仅可以声明配置,还可以处理行为、添加自定义事件和处理任何意外结果。之后,您可以轻松地重用和扩展它

例如,您有一个包含3个项目a、B、C的菜单或工具栏。当然,您需要知道在哪里使用它,单击了什么(例如)a、B或C。创建一个类并管理所需的事件,您可以触发自己的事件,这些事件将告诉您单击了什么,并且在将使用此组件的任何上下文中都更易于使用。添加后期和预处理、模板方法等

仅使用配置创建一个大文件是不可读和不可扩展的,因此您需要向所有此类通用组件添加功能和行为,并且仅使用阵列或简单配置并不容易。即使是简单的通用组件和简单的配置(在开始时)也会分离出来,这将在代码结构和可读性方面带来更多的表现力,并在以后的时间里为您提供管理它的能力

纯配置只能保持代码的准确性和可重用性,但在几乎需要控制的情况下,行为又如何呢


在每个大型web应用程序和ExtJS4环境中,设计、可维护性和可扩展性都是非常重要的

在你文章的大部分内容中,你是完全正确的,但这并不是问题所在,这将给作者留下一个过度渲染的解决方案。不是所有的都适合类,有些部分是数据,应该像那样进行线程化。按钮可以是这样的一部分,如果编写一个类为每个按钮触发新事件,那将是一个彻底的过度。更好的方法是在这里使用控制管道遵循MVC方法。这将使该wirh的配置大大减少。点击事件足够了,我可以识别按钮。别误会我,基本上你是对的,但你不能这么做。谈到数据,我是关于组件配置的。对于简单的普通老按钮,是的,我同意创建类是过分的。clicks think的例子不是最好的,但主要思想是封装和创建可重用组件。