【发布时间】:2012-07-16 17:31:09
【问题描述】:
在我的 jsRender 模板上调用 render 后,它似乎已被消耗,因此已从 DOM 中删除。这令人沮丧,因为我有一个页面需要根据用户交互多次呈现模板。
console.log($('#tpl'));
$('#container').html($('#tpl').render(json));
console.log($('#tpl'));
第二个 console.log 是一个空数组,我可以使用 DOM 检查器和 jsRender 抛出的异常确认模板不再存在:Uncaught JsRender Error: Unknown template: "#tpl" -- 必须重新加载页面才能将模板重新注入DOM。
如何在渲染之间保留 jsRender 模板?
【问题讨论】:
-
明显的愚蠢问题:您在容器元素中声明模板的脚本元素是什么?如果是这样,当然在容器上调用 .html() 会删除它...顺便说一句,您还可以从字符串编译模板。它不必在脚本元素中...
-
@BorisMoore 啊。傻我。不知何故,我阻止了 html() 方法将排除
<script>标签的想法。不过这样就可以了!