dojo小部件已注册
我在使用Dojo库运行此代码时出错 在控制台中,我可以看到有一个具有此ID的小部件,但我无法销毁它dojo小部件已注册,dojo,widget,registry,destroy,Dojo,Widget,Registry,Destroy,我在使用Dojo库运行此代码时出错 在控制台中,我可以看到有一个具有此ID的小部件,但我无法销毁它 function layoutDialog2(data, taskBoard, idName) { var _idName = idName; var _taskBoard = taskBoard; var d = addDialog(); //dialog var idD = d.get("id"); //random ID var f = addNe
function layoutDialog2(data, taskBoard, idName)
{
var _idName = idName;
var _taskBoard = taskBoard;
var d = addDialog(); //dialog
var idD = d.get("id"); //random ID
var f = addNew(d, Form, {id: "f"+idD, style: "border: 1px solid red"});
var c = addNew(d, ContentPane, {id: "cp"+idD});
for (var i=0; i<7; i++)
{
var l1 = addNew2(f, "label", {style: "1px solid green"});
var span1 = addNew2(l1, "span", {innerHTML: "a"+i+": "});
var t1 = addNew(l1, TextBox, {name: "a"+i, value: data["a"+i]});
var br1 = addNew2(l1, "br", {});
}
var b1 = addNew(c, Button, {label: "Change", onClick: function() { change(); }});
var b2 = addNew(c, Button, {label: "DELETE", onClick: function() { deleteTask(); }});
function change()
{
console.log(_taskBoard);
_taskBoard.destroyRecursive();
console.log(_taskBoard);
var v1 = registry.byId("f"+idD); //get form value
var v1 = v1.get("value");
layoutTask(v1);
_taskBoard.destroyRecursive();
}
function deleteTask()
{
_taskBoard.destroyRecursive();
}
d.show();
}
功能布局对话框2(数据、任务板、idName)
{
var_idName=idName;
var_taskBoard=任务板;
var d=addDialog();//对话框
var idD=d.get(“id”);//随机id
var f=addNew(d,Form,{id:“f”+idD,style:“border:1px实心红色”});
var c=addNew(d,ContentPane,{id:“cp”+idD});
对于(var i=0;i,您需要清除注册表中已创建的任何DIJIT ID。在我的项目中,我们创建了一个帮助函数来为我们执行此操作:
destroyFieldsByIdArray: function (fieldIdArray) {
var i,
idToDestroy;
for (i = 0; i < fieldIdArray.length; i += 1) {
idToDestroy = fieldIdArray[i];
if (dijit.byId(idToDestroy)) {
dijit.byId(idToDestroy).destroyRecursive(true);
}
}
}
DestroyFieldsByDarray:函数(FieldArray){
var i,
idToDestroy;
对于(i=0;i
你能公布整个错误吗,或者至少明确地说,它所说的ID
是注册的吗?你说的“我不能销毁它”是什么意思?您是否也因此收到了另一个错误?这发生在我身上,当时我对各种dojo/domReady!
和dojo/ready
调用的操作顺序不正确。请确保您的解析和访问是正确的。简化、简化、简化,然后从那里进行调试。谢谢,但dojo让我很生气!