2013-03-08 82 views
4

我有closeAction一个窗口被配置为'hide'上实例化:ExtJS的:消灭与配置“closeAction”窗口设置为“隐藏”

var myWin = Ext.create('Ext.window.Window', { 
    ... 
    closeAction:'hide', 
    ... 
}); 

上调用myWinclose()因此简单地隐藏窗口。我需要破坏destroy意义上的窗口暗示的煎茶文档:

从DOM删除窗口并摧毁它和所有后代 组件。该窗口将无法通过 显示方法重新显示。

我做了什么?我尝试:

  1. 直接在窗口对象调用destroy:主叫close()

    myWin.destroy(); 
    
  2. 设置closeActiondestroy之前:

    win.closeAction='destroy'; 
    win.close(); 
    

在两种情况下, myWin只是隐藏而不是被破坏。有什么想法吗?

+0

的window.use随着'的destroy()'这是完全摧毁:http://jsfiddle.net/5BcBd/1/。 – VisioN 2013-03-08 11:55:00

+0

@VisioN感谢您的评论。你如何检查它是否隐藏或实际销毁?就我而言,我可以重新显示窗口,这就是为什么我确定它是隐藏的而不是被破坏的原因。 – 2013-03-08 12:40:31

+1

我已经更新了上面评论中的小提琴,以便在移除前后显示'body'的内容。通常你可以使用Chrome DevTools或Firebug。在destroy()的情况下,DOM结构被移除,如果你之后尝试调用show(),那么JS会引发一个错误。 – VisioN 2013-03-08 13:46:35

回答

6

方法destroy()应该成功从DOM中删除窗口对象。为了说明这一点,您可以查看JSFiddle中的基本示例。

在调用myWin.destroy()之后,结构被清除并且无法用myWin.show()重新激活该窗口。

1

你想毁了下面的代码

Ext.getCmp('Window Id').destroy();