Javascript 无法读取属性';getWidth';未定义的

Javascript 无法读取属性';getWidth';未定义的,javascript,extjs,Javascript,Extjs,我有下面的代码,它是在一个函数中定义的,这个函数实际上设置了父组件的宽度并进行布局…这个函数从4个地方调用,在一个地方有下面的错误出现的场景,你们可以看到我已经检查了未定义,但它仍然在这个函数中,如果我得到错误:(请帮助识别问题 Ext Js 3.4.2 错误 未捕获的TypeError:无法读取未定义的属性“getWidth” 代码 if((typeof Ext.getCmp("cmp1") !== 'undefined') && (typeof Ext.getCmp("cmp

我有下面的代码,它是在一个函数中定义的,这个函数实际上设置了父组件的宽度并进行布局…这个函数从4个地方调用,在一个地方有下面的错误出现的场景,你们可以看到我已经检查了未定义,但它仍然在这个函数中,如果我得到错误:(请帮助识别问题

Ext Js 3.4.2

错误

未捕获的TypeError:无法读取未定义的属性“getWidth”

代码

if((typeof Ext.getCmp("cmp1") !== 'undefined') && (typeof Ext.getCmp("cmp2") !== 'undefined')){
    Ext.getCmp("cmp1").setWidth(Ext.getCmp("cmp2").getWidth()-2);
    Ext.getCmp("cmp1").doLayout();
    }else{
         //Call self again in 3 sec once render
         //setTimeout("doLayoutofcustomPanel()", 3000);
    }

不确定您使用的是哪个版本的ExtJs,但最好使用它

itemId的作用域在容器的本地,避免了潜在的 与需要唯一id的Ext.ComponentManager冲突


然后得到它。

我能够找出问题,实际上组件是创建的,但元素(EL)最初不存在,所以它能够通过我的检查,如果我需要按如下方式进行检查,以确保元素存在,我需要获取宽度。这很好

typeof Ext.getCmp("cmp2").el !== 'undefined'
我正在使用ExtJS3.4.2