2

我定义了一个网格面板

    Ext.define('Example', {
        extend: 'Ext.grid.Panel',   
        alias: 'myGrid',
        store:Ext.create('Ext.data.Store', {
            fields: [
                {name: 'name'}
            ]
        }),
        initComponent: function() {
             alert(this.up('window').title); //but error like this.up(...) is undefined
             this.callParent(arguments);
        }
    ...

我创建了一个窗口,上面有一个项目

   items: {  
        xtype: 'myGrid'
    }

我想在父组件中得到一些东西。如何parent component在 initComponent 函数中最多。谢谢

4

2 回答 2

4
    initComponent: function() {
         var me = this;

         this.callParent(arguments);
         me.on('render', function() {
             alert(me.up('window').title);
         });
    }
于 2013-08-08T12:37:04.477 回答
0

你不能。组件在添加到容器之前必须先被实例化。您可以覆盖onAdded模板方法,该方法将在组件添加到容器时被调用:

Ext.define('Foo',
    extend: 'Ext.Component',

    onAdded: function(ct) {
        this.callParent(arguments);
        console.log('Added to', ct);
    }
});
于 2013-08-08T07:47:55.407 回答