嵌套的dojo小部件无法正常工作

时间:2014-02-09 19:55:54

标签: dojo

我创建了一个非常简单的模板化小部件。像这样:

function (declare, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, ..., ...) {
    return declare("widgets.some.Widget", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {..

   ...
   templateString: template,
   widgetsInTemplate: true,
   ...
}

这个小部件加载并且工作得很好。但是,当我想在另一个模板化的小部件中使用它时,如下所示:

<div style="width: 400px" data-dojo-type="widgets.some.Widget" ... >
</div>

..我最终得到了2个错误:

  

无法读取null“

的属性”nodeType“

  

widgets.somewidgetusing.SomeWidget:解析器返回未填充的承诺   (可能正在等待模块自动加载),不受支持   _WidgetsInTemplateMixin。必须在实例化之前预先加载所有支持小部件。“

这两个小部件都很有效,但是当我在另一个小部件中使用widgets.some.Widget时,会出现错误。

1 个答案:

答案 0 :(得分:5)

我收到同样的消息。罪魁祸首证明是非独特的html ID。我在两个不同的小部件中嵌套了一些.Widget。 Some.Widget的模板html有一个带id="Text1"的文本框。我删除了id并解决了问题。