我正在尝试使用车把模板,但它并没有那么顺利。
在* .html.twig我有:
<script id="entry-template" type="text/x-handlebars-template">
<div class="entry">
<h1>{{title}}</h1>
<div class="body">
{{body}}
</div>
</div>
</script>
<span id="demo">
</span>
<script>
var source = document.getElementById("entry-template").innerHTML;
var template = Handlebars.compile(source);
var context = {title: "My New Post", body: "This is my first post!"};
var html = template(context);
document.getElementById("demo").innerHTML = html;
</script>
有一个错误:
变量“title”不存在。
当我将此代码放在简单的index.html w / o Symfony等中时,它可以工作。任何想法如何解决它?
答案 0 :(得分:1)
这是因为Twig也是一种HTML模板语言,它也使用{{ ... }}
语法来表示变量,就像Mustache一样,所以Twig在输出HTML之前试图解析它。
如果你想一起使用Twig和Mustache,那么你需要对用于Mustache的花括号进行转义/双重编码,以便Twig不会首先尝试解析它们。
答案 1 :(得分:0)
有一个repo on Github,可让您为Handlebar模板定义自己的自定义分隔符。