我正在从后端服务请求中获取HTML内容,其中可能包含类似以下内容(非JSRender):
<div>{{comp:someComponentId}}</div>
或者我们可以通过以下方式接收它:
<div>{{comp someComponentId}}</div>
我想利用此语法在JSRender中使用转换器或标记将其有效地转换为:
<div>{{include tmpl="someComponentId"/}}</div>
标签/转换器是否进行渲染,或者是否可以迭代创建包含以使JSRender对其进行评估。我该如何实现?
答案 0 :(得分:0)
这是您想要的吗?
<script id="myTmpl" type="text/x-jsrender">
{{comp someid/}}
</script>
<script id="id1" type="text/x-jsrender">
what {{:foo}}
</script>
<div id="page"></div>
<script>
$.views.tags("comp", {
render: function(id) {
return $("#"+id).render(this.tagCtx.view.data);
}
});
var myTmpl = $.templates("#myTmpl"),
data = { someid: "id1", foo: "FOO" },
html = myTmpl(data);
$("#page").html(html);
</script>