7

我正在使用 ExtJS 6 构建一个应用程序。我已经阅读了指南、教程和最佳实践技巧。但我还不明白的是,我为什么要使用配置对象?

使用配置:

Ext.define('MyProject.foo.Bar', {
    extends: 'Ext.window.Window',

    ...

    config: {
        title: 'My title'
    }
});

没有配置:

Ext.define('MyProject.foo.Bar', {
    extends: 'Ext.window.Window',

    ...

    title: 'My title'
});

两者都按预期工作。谁能告诉我区别和可能的好处?

4

1 回答 1

10

这一切都在Class System指南中进行了描述:

  • 配置完全封装自其他类成员
  • 如果方法尚未定义,则每个配置属性的 getter 和 setter 方法会在类创建期间自动生成到类原型中。
  • 自动生成的 setter 方法在设置值之前在内部调用 apply 方法(如果在类上定义)。如果您需要在设置值之前运行自定义逻辑,则可以覆盖配置属性的 apply 方法。如果您的 apply 方法没有返回值,则 setter 不会设置该值。当设置不同的值时,也会调用更新方法(如果已定义)。apply 和 update 方法都将新值和旧值作为参数传递。
于 2015-09-21T07:12:52.677 回答