是否可以在嵌套的mustache.js模板中呈现Javascript,如下所示?
myApp.mustache:
{{#myapp}}
{{>userApp}}
{{/myapp}}
userApp.mustache:
{{#user}}
<script>
$(function () {
$("a[id='a_popover_{{username}}']").popover()
})
</script>
{{/user}}
模板使用pystache(Python的胡子库)正确呈现,但是mustache.js,handlebars.js,ICanHaz.js和ICanHandlebarz.js都抱怨#user没有正确关闭。
答案 0 :(得分:0)
非常确定</script>
位是问题,浏览器会看到它并将其解析为模板脚本的末尾。尝试转义它:<\/script>
答案 1 :(得分:0)
我也陷入了类似的问题,结果是创建了一个新的脚本元素,因为即使javascript代码被渲染,在附加到正文后也没有被执行,它就像字符串一样。
$('script:last').html('alert("ok !")'); // won't work
我案例的示例代码:
var render = Mustache.to_html(template, data_sources);
var sc = document.createElement('script');
sc.innerHTML = render;
var p_div = document.getElementById('template_wrap_div').parentNode;
p_div.innerHTML = "";
p_div.appendChild(sc);
希望能给出一些想法和帮助。