Ссылаясь на тот же шаблон

Вот как я отображаю свои шаблоны (при нажатии на некоторые элементы моей страницы)

$("[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>

http://www.jsviews.com/

Другие вопросы по тегам