我在项目中使用Twig。它使用以下标签:{{ name }}
我想把Mustache也包括在我的项目中。但是Mustache也使用了相同的标签{{ name }}
,所以存在冲突,什么都不起作用。
Mustache在他们的文档中提供的解决方案当然不起作用。因为我必须在Twig模板中键入Twig分隔符{{
才能更改Mustache分隔符。
* {{ default_tags }}
{{=<% %>=}}
* <% erb_style_tags %>
<%={{ }}=%>
* {{ default_tags_again }}
如何越过它?有没有其他方法可以在设置中的某个地方更改Mustache分隔符?
如果您有一个大模板要通过trick。更好的解决方案是暂时关闭自动转义。
{% verbatim %}
Everything will be outputted as is in this block
{% endverbatim %}
例如,您可以通过将{{
和}}
替换为[[
和]]
来自定义分支分隔符,使其与Mustache分隔符不同,如twig doc:中所述
$twig = new Twig_Environment();
$lexer = new Twig_Lexer($twig, array(
'tag_comment' => array('{#', '#}'),
'tag_block' => array('{%', '%}'),
'tag_variable' => array('[[', ']]'),
'interpolation' => array('#{', '}'),
));
$twig->setLexer($lexer);
解决方法是用树枝"回声"双括号
{{ "{{some_js_varaible}}" }}
和
{{ "{% js_condition %}" }}
'{% verbatim %}
<a href="{{joblink}}" target="_blank">{{{_highlightResult.title.value}}}</a><p>{{description}}</p>
{% endverbatim %}'
说明:
{%逐字记录%}告诉tridge不要将{{某些内容}}}}解释为tridge
html语法保持不变,如链接
因此,如果您的代码/函数/配置需要Mustache字符串,那么您就有了它:{{Mustache.object.value}}.
来源:
https://github.com/janl/mustache.js/issues/441
在Symfony框架中测试工作。