ExtJS 6:我应该使用配置对象吗?

时间:2015-09-21 07:04:58

标签: javascript extjs extjs6

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

使用config:

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'
});

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

1 个答案:

答案 0 :(得分:9)

所有内容都在Class System指南中描述:

  
      
  • 配置完全由其他类成员封装
  •   
  • 在创建类时,每个配置属性的getter和setter方法都会自动生成到类原型中   如果方法尚未定义。
  •   
  • 自动生成的setter方法在设置值之前在内部调用apply方法(如果在类上定义)。你可以覆盖   如果需要运行自定义逻辑,则为config属性的apply方法   在设置值之前。如果您的apply方法没有返回   值,setter不会设置值。更新方法(如果   当设置不同的值时,也会调用)。这俩   apply和update方法传递新值和旧值为   PARAMS。
  •