WidgetsInTemplateMixinを追加した後、エラーが発生します
dest.appendChild is not a function
ドキュメントでは、this.containerNodeに子オブジェクトを含めることができない場合はエラーが発生すると記載されています。ただし、divのcontainerNode接続ポイントをdojoタイプ「dijit / layout/ContentPane」でマークしました。なぜこれが機能しないのか誰かが私に説明できますか?
これがテンプレートファイルです
<div class="${baseClass}">
<div class="${baseClass}Container"
data-dojo-type="dijit/layout/BorderContainer"
data-dojo-props="design: 'headline'">
<div data-dojo-type="dijit/layout/ContentPane"
data-dojo-props="region: 'top'">
Top
</div>
<div data-dojo-type="dijit/layout/ContentPane"
data-dojo-props="region: 'center'"
data-dojo-attach-point="containerNode">
</div>
<div data-dojo-type="dijit/layout/ContentPane"
data-dojo-props="region: 'leading', splitter: true">
Sidebar
</div>
</div>
</div>
これがjavascriptの定義です
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_OnDijitClickMixin",
"dijit/layout/BorderContainer",
"dijit/layout/ContentPane",
"dijit/layout/TabContainer",
"dijit/_TemplatedMixin",
"dijit/_WidgetsInTemplateMixin",
"dojo/text!./templates/MainContainer.html"
], function (declare,
_WidgetBase,
_OnDijitClickMixin,
BorderContainer,
ContentPane,
TabContainer,
_TemplatedMixin,
_WidgetsInTemplateMixin,
template)
{
return declare([_WidgetBase, _OnDijitClickMixin, _TemplatedMixin, _WidgetsInTemplateMixin], {
templateString:template,
baseClass:"main"
});
});
宣言的に定義されたカスタムウィジェット
<div data-dojo-type="main/ui/MainContainer" data-dojo-props="title: 'Main Application'">
Hello Center!
</div>