参考相同的模板

时间:2017-07-16 18:11:50

标签: jsrender

这就是我渲染模板的方式(点击我页面的某些元素)

$("[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 个答案:

答案 0 :(得分:0)

您可以将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/#helpers