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

最佳答案

这取决于您是否要重用对话框。如果重新创建便宜(定义便宜的东西),请使用destroyRecursive()。否则,只需创建一次,然后在需要关闭它时就对其进行hide()编码。

请记住,dijit会将您创建的所有小部件保留在注册表中。因此,简单地让dialog变量超出范围将不会使其成为垃圾可收集的对象,而这可能会导致内存泄漏。

09-30 16:12