2013-03-08 65 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();