Я отображаю шаблон jsrender
в объекте шаблона.
var colorTmpl = {
"color": jQuery.templates("<span>{{:~val}}</span>"),
}
var jsrendertmpl = {};
jQuery.extend(jsrendertmpl, colorTmpl);
Если я получу доступ к jsrendertmpl.colorTmpl.render()
, он отобразит цветовой шаблон. Если я включу этот тег шаблона tmpl в другой шаблон, подобный этому
{colorArr: ["white", "blue", "black"]}
{{for colorArr tmpl="jsrendertmpl.colorTmpl"/}}
Он не будет включать этот подшаблон в родительский шаблон. Поэтому я добавляю пользовательский тег, чтобы включить этот подшаблон в объект
includetmpl: function(tmplname){
return Template.render(tmplVal, jObj);
},
Если я включу подшаблон в родительский шаблон, {{:~val}}
не будет распознан
Родительский шаблон с настроенным включенным тегом
{{for colorArr itemVar='~val'}}
{{includetmpl "color"}}
{{/for}}
Родительский шаблон без подшаблона (отлично работает)
{{for colorArr itemVar='~val'}}
<span>{{:~val}}</span>
{{/for}}
Есть ли способ получить доступ к этому значению. Я использовал {{setvar}} и {{:~getvar}} в качестве обходного пути, но мне нужно постоянное решение.
Заранее спасибо.