Extjs4 在extjs中使用配置?

Extjs4 在extjs中使用配置?,extjs4,Extjs4,我在理解extjs4中config属性的用法时遇到了困难。文档中说,只要我们将属性保存在config中,ExtJS就会为属性生成相应的getter和setter。此外,如果我们想在设置属性值之前添加一些逻辑,我们可以使用apply方法。但问题是,尽管在config下添加了属性,但我们可以在不使用getter和setter的情况下获取和设置它们。因此,配置对封装没有帮助。此外,如果我们想在设置属性之前添加一些逻辑,我们可以有一个自定义方法,为什么只使用apply方法呢。下面是一个示例代码 Ext.

我在理解extjs4中config属性的用法时遇到了困难。文档中说,只要我们将属性保存在config中,ExtJS就会为属性生成相应的getter和setter。此外,如果我们想在设置属性值之前添加一些逻辑,我们可以使用apply方法。但问题是,尽管在config下添加了属性,但我们可以在不使用getter和setter的情况下获取和设置它们。因此,配置对封装没有帮助。此外,如果我们想在设置属性之前添加一些逻辑,我们可以有一个自定义方法,为什么只使用apply方法呢。下面是一个示例代码

Ext.define('MyApp.data.invoice',{
config:{
    client: '',
    tax: 0.83,
    subtotal: 0,
    total: 0
},

constructor: function(config){
    this.initConfig(config);
},

applySubtotal: function(value){
    this.setTotal(value + value*this.getTax());
    return value;
}
});
下面是这个类的用法

Ext.onReady(function(){
        var invoice = Ext.create('MyApp.data.invoice',{
            client: 'Tuxtuc Inc',
            subtotal: 100,
            total: 80.3
        });
        console.log(invoice.client); //Tuxtuc Inc
        console.log(invoice.getClient); //Tuxtuc

        invoice.setTax(0.16);

        console.log(invoice.getTax()); //0.16

        invoice.subtotal = 1000;

        console.log(invoice.subtotal); // 1000
    });