我需要输出一部分客户端手柄模板,其模板类似于twig的'say'标签:
<script type="text/x-handlebars">
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
</script>
并且twig尝试解析这些模板。我该如何预防呢?是否可以将模板的一部分标记为纯文本?
答案 0 :(得分:47)
为此目的有raw标记:
<script type="text/x-handlebars">
{% raw %}
{{#view App.MyView}}
<h1>Hello world!</h1>
{{/view}}
{% endraw %}
</script>
弃用raw
代码时请改用verbatim
。
答案 1 :(得分:25)
{%raw%}已弃用
{% verbatim %}
<ul>
{% for item in seq %}
<li>{{ item }}</li>
{% endfor %}
</ul>
{% endverbatim %}
答案 2 :(得分:0)
对于更大的模板块,我建议将这些脚本模板移动到一个单独的文件/文件中(我认为它们应该是更加结构化的。)
然后使用源命令{{source(&#39; uploadables-js.html&#39;)}}在您的树枝中渲染模板(重要的是,没有&#39;使用&#39;或&#39;包含& #39;)
答案 3 :(得分:0)
要不使用原始或逐字标签丢失模板,可以更改lexar选项以与客户端模板引擎不冲突:
...
$lexer_options = [
'tag_variable' => ['{~', '~}'],
];
$lexer = new Twig_Lexer($twig, $lexer_options);
$twig->setLexer($lexer);