我正在使用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'
});
两者都按预期工作。 谁能告诉我差异和可能的好处?
答案 0 :(得分:9)
所有内容都在Class System指南中描述:
- 配置完全由其他类成员封装
- 在创建类时,每个配置属性的getter和setter方法都会自动生成到类原型中 如果方法尚未定义。
- 自动生成的setter方法在设置值之前在内部调用apply方法(如果在类上定义)。你可以覆盖 如果需要运行自定义逻辑,则为config属性的apply方法 在设置值之前。如果您的apply方法没有返回 值,setter不会设置值。更新方法(如果 当设置不同的值时,也会调用)。这俩 apply和update方法传递新值和旧值为 PARAMS。