如何在Dojo小部件模板中创建唯一的ID?

我写了一个Dojo小部件,它在用户页面添加一个标签一个输入框.

标签的for属性需要HTML ID值,但Dojo小部件不应包含ID,以防在同一页面上创建多个实例.

那么,有没有人有任何建议如何解决这些矛盾的需求?

在框中,这是dijit注册表如何配置WidgetID(this.id)如果配置参数在构建时不存在:
constructor: function(args) { args=args || {};
  this.id = args.id || dijit.registry.getUniqueId(this.declaredClass)
}

模板使用字符串替换,所以如果你的类中有一个属性,说foo,将它放在模板中的方式是这样的:

templateString = '<div class="${foo}">';

在你的情况下,模板中的某个地方有一个label->输入对,就像这样

<div><!--domNode-->
   <table>
       <td><label for="${id}-edit-title">Title</label></td>
       <td><input id="${id}-edit-title" type="text" /></td>
   </table>
</div>

所以

虽然这是一个有点过时的时间,这是一个很好的开始的地方:
http://dojotoolkit.org/documentation/tutorials/1.6/templated/

继续阅读dojo.Stateful get / set机制

最后转到dijit._WidgetsInTemplateMixin.

相关文章

我有一个网格,可以根据更大的树结构编辑小块数据.为了更容易...
我即将开始开发一款教育性的视频游戏.我已经决定以一种我可以...
我正在使用带有Grails2.3.9的Dojo1.9.DojoNumberTextBox小部...
1.引言鉴于个人需求的转变,本系列将记录自学arcgisapiforja...
我正在阅读使用dojo’sdeclare进行类创建的语法.描述令人困惑...
我的团队由更多的java人员和JavaScript经验丰富组成.我知道这...