我创建了一个非常简单的模板化小部件。像这样:
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
时,会出现错误。
答案 0 :(得分:5)
我收到同样的消息。罪魁祸首证明是非独特的html ID。我在两个不同的小部件中嵌套了一些.Widget。 Some.Widget的模板html有一个带id="Text1"
的文本框。我删除了id并解决了问题。