Ссылаясь на тот же шаблон
Вот как я отображаю свои шаблоны (при нажатии на некоторые элементы моей страницы)
$("[entity]").click(function(e) {
var entityType = $(this).data('type')
var source = $(`#${entityType}Tmpl`).html();
var tmpl = $.templates(source);
$("#details").html(tmpl.render(getData(entityType));
});
Мне интересно, есть ли способ jsRender для определения одного шаблона для двух entityType, что-то вроде:
<script id="entity1;entity2" type="text/x-jsrender">type: {{:entityType}} </script>
1 ответ
Вы можете передать в entityType в качестве помощника.
var helplers = {
type: entityType,
getValue: myGetValFunction,
...
};
var html = tmpl.render(getData(entityType), helpers);
$("#details").html(html);
Затем сделайте вывод вашего шаблона в зависимости от типа:
<script id="tmpl" type="text/x-jsrender">
type:
...
{{if ~type==='foo}}...{{/if}}
...
{{:~getValue(~type)}}
...
</script>