私が作成した例をご覧ください: http://plnkr.co/edit/dGMJ8UBQ9dT3dGQPQSeu?p=preview
これは考えられる最も簡単な解決策ですが、 にいくつかの小さな変更が必要ですFormA
。
FormA.js :
var FormA = declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
templateString: template,
templateExtensionString: "" // <= add `templateExtensionString` property
});
FormA.html -templateExtensionString
プレースホルダーをウィジェット テンプレートに追加します。
<div>
<div><!-- FormA markup --></div>
<div>${!templateExtensionString}</div>
<div><!-- FormA markup --></div>
</div>
注:_TemplatedMixin
文字列内で引用符がエスケープされないようにするには、「!」を配置します。完全な変数名の前。
これで拡張できますFormA
:
var FormB = declare([FormA], {
templateExtensionString: template // FormB template (dojo/text!./FormB.html)
});
変更できない場合は、確認ボタン付きの Dojo ダイアログFormA
に対する私の回答を見て、ここで同様の戦略を採用することを検討してください。