我创建了一个非常简单的模板化小部件.像这样的东西: function (declare, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, ..., ...) { return declare("widgets.some.Widget", [_WidgetBase, _TemplatedMixin, _WidgetsInT
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个错误:
Cannot read property ‘nodeType’ of null”
和
widgets.somewidgetusing.SomeWidget: parser returned unfilled promise
(probably waiting for module auto-load), unsupported by
_WidgetsInTemplateMixin. Must pre-load all supporting widgets before instantiation.”
这两个小部件都可以很好地独立运行,但是当我在另一个小部件中使用widgets.some.Widget时,会出现错误.
我得到了同样的信息.罪魁祸首证明是非独特的html ID.我在两个不同的小部件中嵌套了一些.Widget. Some.Widget的模板html有一个id =“Text1”的文本框.我删除了id并解决了问题.