extjs desktop 多级菜单的快捷方式问题

用的事ext2.0下面的desktop,在做多级菜单的快捷方式的时候遇到一个问题,开始菜单式动态拼出来的,官方例子中只有一级的快捷方式,修改了一下Desktop.js[code="java"]

shortcuts.on('click', function(e, t){
if(t = e.getTarget('dt', shortcuts)){
e.stopEvent();
var module = app.getModule(t.id.replace('-shortcut', ''));
if(module){
module.createWindow();
}
//---多级菜单快捷方式--
else

{

var rm = e.getTarget('dt', shortcuts).attributes.rmid.value;//对应的rmid 根菜单module id

                    var rmmodule = app.getModule(rm);

                var str = t.id.replace('-shortcut', '');  
                var temp=Ext.getCmp(str);//获取本菜单对象

                rmmodule.createWindow(temp);

            }
           //---多级菜单快捷方式--
        }
    });

[/code]
现在的问题是,在第一次点击桌面图标时是可以弹出window,但是关闭window后,第二次点击图标时,会报temp为undefined, var temp=Ext.getCmp(str);//获取本菜单对象这里获取不到值,第一调用的时候是可以获取到值的,求大神帮看一下哪里出了问题

你Ext.getCmp(str)获取到的对像是不是在关闭或隐藏时采用的是destroy(销毁方式,就是把他对应的dom信息删除而不是隐藏),如果是这样的话,下次打开进肯定要重新构造一个,而不是通过Ext.getCmp(str)这样的方式获得

你这id是怎么给他取的?

var str = t.id.replace('-shortcut', '');

你那个window是怎么new出来的,代码贴下看看,还有就是你怎么确定这个window在隐藏后不是销毁动作呢