何时在dojo中隐藏dijit.Dialog与.destroyRecursive

问题描述

| 我已经在代码中看到了两者,但是我想知道使用dlg.hide()或dlg.destroyRecursive()关闭对话框的首选和更有效的方法是什么?     

解决方法

        这取决于您是否要重用该对话框。如果重新创建便宜(您定义便宜),请使用,0ѭ。否则,创建一次,然后在需要关闭它时随时创建一次
hide()
。 请记住,dijit会将您创建的所有小部件保留在注册表中。因此,仅让dialog变量超出范围将不会使其成为垃圾可收集的对象,而这可能会导致内存泄漏。     ,        我发现,即使对话框似乎被破坏,如果我仅调用
dialog.destroyRecursive()
,也无法完全破坏对话框中的小部件。 相反,我必须调用
dialog.hide()
,然后在
onHide
方法中调用
this.destroyRecursive()
。 但是,这会导致另一个无害的错误“
exception in animation handler for: onEnd
”。 但是确实确实对话框中的所有小部件都被销毁了。     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...