如何在使用Sencha设计器的Ext Js中显示现有窗口

问题描述:

我是Ext js中的新成员。我使用ext designer 1.2开始了Ext js,现在我使用sencha设计器2.0,创建了面板和按钮,并创建了窗口。现在我想使用点击事件来显示我的窗口点击,但我不知道如何,我搜索了许多网站,特别是在sencha.com,但我找不到,我可以通过创建onclik函数来显示新窗口,但我想展示现有的,如果有人知道你能告诉我如何。我对secha designer的控制器很感兴趣。如何在使用Sencha设计器的Ext Js中显示现有窗口

如何在没有控制器的情况下直接在onclickbutton函数中插入代码?

以下是我对这个用例完成的:

/** 
    * Check to see if window already open with the specified ID. 
    * If window exists, bring it to front and expand if collapsed. 
    * @param id 
    */ 
    windowAlreadyOpen: function(id){ 
     //Check for already opened window with the same ID 
     var windowOpen = Ext.ComponentQuery.query('window[id='+id+']'); //always returns array 
     if (windowOpen && windowOpen[0]){ 
       try { 
        windowOpen[0].toFront();   //bring to front 
        if (windowOpen[0].collapsed){ 
         windowOpen[0].toggleCollapse(); //expand window if collapsed 
        } 
       } catch (e) { 
        console.error(e); 
       } 
       return windowOpen[0]; 
     } 
     return false; 
    } 

调用该窗口的toFront()方法。

如何找到窗口取决于您的应用程序,在您的情况下,您可能只是将对窗口的引用存储在变量中,或者通过ID找到它。

+0

这正是问题,我不能凭身份证调用它,我不知道适当的顺序来调用它。我试过Ext.get('id'); Ext.getCmp( 'ID'); Ext.ComponentManager.get( 'ID');但id不起作用,我认为是因为他们在不同的班级。 – 2012-02-29 15:51:02