Javascript ExtJS:使用config'销毁窗口;关闭操作';设置为';隐藏&x27;
我有一个窗口,在实例化时配置为Javascript ExtJS:使用config'销毁窗口;关闭操作';设置为';隐藏&x27;,javascript,extjs,extjs4.1,Javascript,Extjs,Extjs4.1,我有一个窗口,在实例化时配置为“隐藏”: var myWin = Ext.create('Ext.window.Window', { ... closeAction:'hide', ... }); 因此,在myWin上调用close()。我需要按照Sencha文档中所暗示的destroy销毁窗口: 从DOM中删除窗口并销毁它和所有子体 组件。该窗口将无法通过重新显示 显示方法 我试了什么?我试过: 直接在窗口对象上调用destroy: myWin.destroy();
“隐藏”
:
var myWin = Ext.create('Ext.window.Window', {
...
closeAction:'hide',
...
});
因此,在myWin
上调用close()。我需要按照Sencha文档中所暗示的destroy
销毁窗口:
从DOM中删除窗口并销毁它和所有子体
组件。该窗口将无法通过重新显示
显示方法
我试了什么?我试过:
直接在窗口对象上调用destroy
:
myWin.destroy();
在调用close()
之前,将closeAction
设置为destroy
:
在这两种情况下,myWin
只是隐藏而不是销毁。有什么想法吗?方法destroy()
应该成功地从DOM中删除窗口对象。为了说明这一点,您可以查看中的基本示例
调用myWin.destroy()
后,结构被清除,无法使用myWin.show()
重新调用该窗口。是否要销毁该窗口。使用下面的代码
Ext.getCmp('Window Id').destroy();
使用destroy()
它已完全销毁:。@VisioN感谢您的评论。你是如何检查它是被隐藏还是被破坏的?在我的例子中,我能够重新显示窗口,这就是为什么我确定它是隐藏的,没有被破坏。我已经更新了上面评论中的提琴,以便在删除之前和之后显示body
的内容。通常,您可以使用ChromeDevTools或Firebug。在destroy()
的情况下,DOM结构将被删除,如果您尝试在之后调用show()
,JS将引发一个错误;请将此添加为答案,明确说明我在问题中关于destroy()
的断言是不正确的-我会将您的答案标记为正确答案。谢谢
Ext.getCmp('Window Id').destroy();