首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mustache.js handlebars.js ICanHaz.js在嵌套的胡子模板中呈现Javascript代码

使用mustache.js handlebars.js ICanHaz.js在嵌套的胡子模板中呈现Javascript代码
EN

Stack Overflow用户
提问于 2012-03-16 20:35:55
回答 2查看 860关注 0票数 0

可以像下面这样在嵌套的mustache.js模板中呈现Javascript吗?

myApp.mustache:

代码语言:javascript
复制
{{#myapp}}
{{>userApp}}
{{/myapp}}

userApp.mustache:

代码语言:javascript
复制
{{#user}}
<script>
  $(function () {
    $("a[id='a_popover_{{username}}']").popover()
  })
</script>
{{/user}}

使用pystache (Python的八字胡类库)可以正确地呈现模板,但是mustache.js、handlebars.js、ICanHaz.js和ICanHandlebarz.js都会抱怨#user没有正确关闭。

EN

回答 2

Stack Overflow用户

发布于 2012-05-20 23:58:06

我很确定</script>位是问题所在,浏览器会看到这一点,并将其解析为模板脚本的末尾。尝试像这样转义它:<\/script>

票数 0
EN

Stack Overflow用户

发布于 2012-12-03 23:33:57

我也遇到了类似的问题,最终是创建了一个新的script元素,因为即使呈现了javascript代码,在附加到正文之后也不会执行,它的行为就像字符串一样。

代码语言:javascript
复制
$('script:last').html('alert("ok !")'); // won't work

我的案例的示例代码:

代码语言:javascript
复制
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);

希望这能给你一些想法和帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9737343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档