在ExtJS 4中构建应用程序时,我很挣扎,部分原因在于何时在initComponent()中进行配置以及何时不进行配置...

例如,在Sencha自己的MVC Application Architecture文档中,当首次创建网格 View 时,他们在initComponent()方法中定义了内联存储。 (请参阅“定义 View ”部分)

再往下,当他们将存储分解为一个单独的类时,他们将定义移到了initComponent()之外。有一条有用的评论可以引起人们对这一事实的注意,但是没有任何解释。 (请参阅创建模型和存储部分)

我猜想原因应该很明显,但我想不起来了。有指针吗?

最佳答案


术语

  • 基本类型-字符串, bool(boolean) 值,整数等。
  • 非原语-数组和对象。

  • 说明
    如果要多次创建扩展的组件,则声明为config选项的所有非原始配置(在initComponent之外)将在所有实例之间共享。
    因此,在多个选项卡上创建扩展组件(通常是扩展网格)时,许多人会遇到问题。
    下面的sra答案和this Skirtle's Den article中对此行为进行了解释。您可能还想阅读this SO question

    09-30 16:03