0

私はいくつかのウィンドウを持つアプリを開発しています。多くのウィンドウは似ているので、スーパークラスを作成して拡張すると思います。

私はスーパークラスを持っています:

Ext.define('AM.view.ui.DecoratorAbstract',{
    extend: 'Ext.window.Window',
    alias: 'widget.decoratorAbstract',

    initComponent: function(){
        this.title = this.aTitle;
        this.resizable = this.cfg[0];
        this.closable = this.cfg[1];
        this.minimizable = this.cfg[2];
        //this.items = this.anItem;
        this.callParent(arguments);
    }
});

そしてサブクラス:

Ext.define('AM.view.ui.DecoratorForm',{
    extend: 'AM.view.ui.DecoratorAbstract',
    alias: 'widget.decoratorForm',

    initComponent: function(){  
        this.callParent();
        this.buttons = [
            { text:'Guardar', action:'save', iconCls: 'ico-save' },
            { text:'Cancelar', action:'cancel', iconCls: 'ico-cancel' }
        ];
    }
});

どちらのクラスもコントローラーに含まれています。

Ext.define('AM.controller.Ui',{
    extend: 'Ext.app.Controller',

    views: [
        'ui.Toolbar',
        'ui.Statusbar',
        'ui.AlertErr',
        'ui.AlertOk',
        'ui.AlertWar',
        'ui.AlertDelete',
        'ui.AlertUndelete',
        'ui.DecoratorAbstract',
        'ui.DecoratorForm',
        'ui.DecoratorGrid'
    ],
    model: [],
    store: [],
});

Firebug js コンソールから、サブクラスを作成します。

Ext.create('AM.view.ui.DecoratorForm',{cfg:[true,true,true],aTitle: 'Title'}).show();

ウィンドウは表示されますが、ボタンは表示されません。何か案は ?。

4

2 に答える 2

0

動いたらどうする

this.callParent(arguments);

DecoratorForm の initComponent の最後まで。

于 2013-08-20T15:01:38.447 に答える