在ExtJS 4中构建应用程序时,我很挣扎,部分原因在于何时在initComponent()中进行配置以及何时不进行配置...
例如,在Sencha自己的MVC Application Architecture文档中,当首次创建网格 View 时,他们在initComponent()方法中定义了内联存储。 (请参阅“定义 View ”部分)
再往下,当他们将存储分解为一个单独的类时,他们将定义移到了initComponent()之外。有一条有用的评论可以引起人们对这一事实的注意,但是没有任何解释。 (请参阅创建模型和存储部分)
我猜想原因应该很明显,但我想不起来了。有指针吗?
最佳答案
术语
说明
如果要多次创建扩展的组件,则声明为config选项的所有非原始配置(在
initComponent
之外)将在所有实例之间共享。因此,在多个选项卡上创建扩展组件(通常是扩展网格)时,许多人会遇到问题。
下面的sra答案和this Skirtle's Den article中对此行为进行了解释。您可能还想阅读this SO question。