在extjs中使用config?

时间:2014-01-09 18:06:28

标签: extjs4

我无法理解在ExtJS 4中使用config属性。文档说每当我们将属性保存在config中时,ExtJS将为属性生成相应的getter和setter。此外,如果我们想在设置属性值之前添加一些逻辑,我们可以使用apply方法。但事情是,尽管在配置下添加了属性,但我们可以在不使用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
    });

0 个答案:

没有答案