未捕获的TypeError:无法读取undefined的属性'destroy'

时间:2015-08-18 18:37:11

标签: javascript jquery html extjs extjs4

我是Extjs的新手。我试图破坏我的组件。

为实现此目的,我尝试使用getCmp方法传递我的组件名称。我不确定如何传递id。

这是我的component id -

Ext.tab.Panel{itemId: "sportsSeenTabPanels", id:"panel-117"}

在下面提供我的代码

if (ball.Desktop.isConfigured()) {
        ball.Desktop.onMainContentDestroy(function() {
            Ext.getCmp('id').destroy();
        });
    }

以下是我收到的错误 -

  

未捕获的TypeError:无法读取未定义的属性'destroy'

2 个答案:

答案 0 :(得分:1)

如果您制作这样的组件/面板:

Ext.create('Ext.panel',{
title :'panel Parent',
id :'parentID',
items :[
{
xtype :'panel',
title :'child panel',
id :'childID',
itemId : 'childItemID'
}]
});

您可以使用以下方式选择组件: Ext.getCmp('childID')Ext.getCmp('parentID').down('#childItemID');

答案 1 :(得分:0)

正如S Rifai建议的那样,你应该为你的组件使用相对较新的EXT JS语法(在版本4,5和6中引入)而不是EXT JS 3语法。

尽管如此Ext.getCmp('myComponentId').destroy();仍有效。您在此行的代码中输了一个拼写错误:

  

Ext.getCmp('id').destroy();

'id'是代码的名称,请将其替换为其值:'panel-117'

  

Ext.getCmp('panel-117').destroy();