我在项目中使用Twig。它使用以下标记:{{ name }}
我想在我的项目中包含Mustache。但是Mustache也使用相同的标签{{ name }}
,因此存在冲突并且没有任何作用。
Mustache在其文档中提供的解决方案当然不起作用。因为我必须在我的Twig模板中键入Twig分隔符{{
来更改Mustache分隔符。
* {{ default_tags }}
{{=<% %>=}}
* <% erb_style_tags %>
<%={{ }}=%>
* {{ default_tags_again }}
如何通过它?有没有其他方法可以在设置的某个地方更改Mustache分隔符?
答案 0 :(得分:2)
如果你有一个大模板来穿过树枝。更好的解决方案是暂时关闭自动景观。
alias
答案 1 :(得分:1)
您可以自定义twig分隔符,使其不同于Mustache,可以将{{
和}}
替换为[[
和]]
,例如in 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);
答案 2 :(得分:0)
解决方法是回声&#34;带有树枝的双支架
{{ "{{some_js_varaible}}" }}
和
{{ "{% js_condition %}" }}
答案 3 :(得分:0)
'{% verbatim %}
<a href="{{joblink}}" target="_blank">{{{_highlightResult.title.value}}}</a><p>{{description}}</p>
{% endverbatim %}'
说明:
{%verbatim%}告诉twig不要将{{some content}}解释为twig
html语法保持不变,例如链接
所以,如果你的代码/ function / config需要Mustache字符串,你可以得到它:{{Mustache.object.value}}。
来自消息来源:
https://github.com/janl/mustache.js/issues/441
在Symfony框架中测试过。