嵌套的dojo小部件不工作

嵌套的dojo小部件不工作,dojo,Dojo,我创建了一个非常简单的模板小部件。大概是这样的: function (declare, _WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin, ..., ...) { return declare("widgets.some.Widget", [_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {.. ... templateString: template,

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

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>
这个小部件可以加载并正常工作。但是,当我想在另一个模板化小部件中使用它时,如下所示:

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>

。。我最后有两个错误:

无法读取null的属性“nodeType”

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


这两个小部件单独运行时效果都很好,但当我在另一个小部件中使用
小部件.some.Widget
时,会出现错误。

我收到了相同的消息。罪魁祸首原来是非唯一的html ID。我将一些.Widget嵌套在两个不同的Widget中。一些.Widget的模板html有一个带有
id=“Text1”
的文本框。我删除了id并解决了问题。

您是否将其作为依赖项包含在其他模板小部件中?如果你用斜线替换点,它能工作吗?刚刚注意到使用dojo 1.8.5而不是1.9.0可以消除错误2。它被正确地包括在内,并且现在用斜线测试-同样的错误说明发布得太快了。问题解决了。问题在于从postCreate调用domStyle.get(this.domNode.id,“width”)。但是,domStyle已正确实例化,并且domNode.id按其应有的方式存在。我希望返回空值(或类似的值),而不是“dojo崩溃”(?)@SvenPersson,小部件在后期创建期间还没有在DOM中。将访问DOM的调用放入启动函数中。