ExtJS 6:我应该使用配置对象吗?
ExtJS 6: Should I use the config object?
我正在使用 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'
});
两者都按预期工作。
谁能告诉我区别和可能的好处?
Class System 指南中都有描述:
- Configurations are completely encapsulated from other class members
- Getter and setter methods for every config property are automatically generated into the class prototype during class creation
if methods are not already defined.
- The auto-generated setter method calls the apply method (if defined on the class) internally before setting the value. You may override
the apply method for a config property if you need to run custom logic
before setting the value. If your apply method does not return a
value, the setter will not set the value. The update method (if
defined) will also be called when a different value is set. Both the
apply and update methods are passed the new value and the old value as
params.
我正在使用 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'
});
两者都按预期工作。 谁能告诉我区别和可能的好处?
Class System 指南中都有描述:
- Configurations are completely encapsulated from other class members
- Getter and setter methods for every config property are automatically generated into the class prototype during class creation if methods are not already defined.
- The auto-generated setter method calls the apply method (if defined on the class) internally before setting the value. You may override the apply method for a config property if you need to run custom logic before setting the value. If your apply method does not return a value, the setter will not set the value. The update method (if defined) will also be called when a different value is set. Both the apply and update methods are passed the new value and the old value as params.