2012-07-16 85 views
1

在我的jsRender模板上调用render之后,它似乎被消耗,因此从DOM中删除。这是令人沮丧的,因为我有一个页面,模板需要根据用户交互进行多次渲染。jsRender模板在渲染后消失

console.log($('#tpl')); 
$('#container').html($('#tpl').render(json)); 
console.log($('#tpl')); 

第二的console.log是一个空数组,我不能再确认​​模板,使用DOM检查和jsRender抛出异常存在:Uncaught JsRender Error: Unknown template: "#tpl" - 页面必须重新加载重新注入模板到DOM中。

如何在渲染间持续保存jsRender模板?

+2

明显的愚蠢问题:您的容器元素中声明模板的脚本元素是?如果是这样,当然调用容器上的.html()将删除它...顺便说一句,你也可以从字符串编译模板。它不必在脚本元素... – BorisMoore 2012-07-16 21:18:57

+0

@BorisMoore啊。傻我。不知何故,我阻止了html()方法将排除'

0

今天我也有类似的问题,我有两个目标div和两个脚本块模板的正文。我的问题是,我没有正确关闭div元素标签(太多的xaml),结果是第二个模板从未呈现,因为它无法找到。

这里有一个的jsfiddle显示正确的使用(而不是/>自闭语法):

http://jsfiddle.net/jgoldsmith/XvvPC/

希望帮助别人。