嗨如何命名和销毁对象的实例? 请参阅jsfiddle中的my working
declare("obj_Button", [_WidgetBase], {
buildRendering: function () {
// create the DOM for this widget
this.domNode = domConstruct.create("button", {
innerHTML: "New Button Instance"
});
}
});
on(dom.byId('btn1'), "click", function(evt)
{
(new obj_Button()).placeAt(dom.byId('id'));
//name the instance
});
parser.parse(); // check out more!
on(dom.byId('btn2'), "click", function(evt)
{
// destroy the instance by name, not object
});
请指教。感谢
答案 0 :(得分:2)
如果您知道窗口小部件的ID,可以使用“dijit / registry”获取窗口小部件,然后将其销毁:
require(["dijit/registry"], function(registry) {
registry.byId("myWidgetId").destroyRecursive();
});
如果您只知道dom节点的ID,则可以使用registry.findWidgets()(如果窗口小部件是dom节点的子节点)或者registry.getEnclosingWidget()(如果dom节点是窗口小部件的子节点) )。