Я пытался сделать это с помощью следующих моделей шаблона:Как включить шаблон в другой шаблон в Dojo Widget?
<div>
<div data-dojo-attach-point="includeHere"</div>
</div>
и
<div>
${includeHere}
</div>
Тогда в классе я думал, что это должно быть что-то вроде:
define([
"dojo/_base/declare",
"dijit/_WidgetBase",
"dijit/_TemplatedMixin",
"dojo/text!./templates/myWidget.html",
"dojo/text!./templates/templateToBeIncluded.html"
], function (
declare,
_WidgetBase,
_TemplatedMixin,
template,
templateToBeIncluded
) {
return declare([_WidgetBase, _TemplatedMixin], {
templateString: template,
buildRendering: function() {
this.includeHere = templateToBeIncluded;
},
});
});
I cheked _TemplatedMixin source и попытался изменить функцию buildRendering в соответствии с методом _TemplatedMixin:
buildRendering: function() {
domConstruct.toDom(templateToBeIncluded, this.includeHere);
},
Но lso не мог заставить его работать. Каков правильный способ сделать это? Я не хочу включать HTML в мой .js-файл. Я хочу, чтобы HTML был только в шаблонах.
Зачем вам это нужно? Вам нужно включить виджет внутри другого виджета? Может помочь? http://stackoverflow.com/questions/9306670/adding-dojo-widget-inside-custom-widget – Radex
Ну ... Я все еще начинаю в Додзё. Может быть, я не получил «Dojo way», чтобы делать что-то. Но на самом деле идея заключалась в том, что мне не нужен виджет внутри виджета ... Мне нужен только субтем. Но, с другой стороны, это почти то же самое, не так ли? ну ... как вы думаете, я должен преобразовать подшаблоны в виджеты? –