DOJO 错误 ID 已注册
Posted
技术标签:
【中文标题】DOJO 错误 ID 已注册【英文标题】:DOJO error Id is already registered 【发布时间】:2013-12-18 06:34:04 【问题描述】:您好,我是 dojo 的新手,遇到了一个简单的问题。我收到一个错误 尝试使用 id==listGrid 注册小部件,但该 id 已注册。让我与您分享一段代码
我有三个单选按钮,单击任何单选按钮都会导致网格。我对所有三个单选按钮使用相同的 div。第一次网格将出现在第一个单选按钮上,但第二次出现上述错误。我在单击单选按钮时调用此函数
_showList:function()
var item = this.gc.getSelectedItem()
var id=item.id;
var cont = 'zone';
var action='getCityListById';
var controller='network';
this.cityGc = new GridViewControl(columns:
[
action:action, controllerName:controller,parameters: id:item.id, cont: cont,
name:"City Name", field:"name", width: "200px", editable: false
], diff:220
,this.zoneListGrid);
zoneListGrid 是一个对所有三个单选按钮都相同的 dojo 附加点。请提出一些我可以解决的问题。提前致谢
【问题讨论】:
【参考方案1】:由于每次单击单选按钮都会触发这段代码,所以 dojo 将尝试在第二次单击时创建另一个网格组件。因为该附加点上已经存在一个小部件,所以会引发错误。
要么重新使用已经存在的网格(对 this.cityGc 执行 === null 检查),要么先销毁现有的网格(this.cityGc.destroy())。
【讨论】:
以上是关于DOJO 错误 ID 已注册的主要内容,如果未能解决你的问题,请参考以下文章
错误:尝试使用 id==grid1 注册小部件,但该 id 已注册
删除具有相同捆绑字符串的已注册应用后,如何使用捆绑 ID 字符串注册应用