这有什么区别:
{%block body %}
那个
{%block body -%}
答案 0 :(得分:35)
请在文档中阅读有关它的内容,不确定这是否也适用于{% block ... %}
代码。
Twig whitespace control
{% set value = 'no spaces' %}
{#- No leading/trailing whitespace -#}
{%- if true -%}
{{- value -}}
{%- endif -%}
{# output 'no spaces' #}
还有另一个例子,它修剪了变量前面的空白,但最后没有这样做 - 所以效果只在一边。
{% set value = 'no spaces' %}
<li> {{- value }} </li>
{# outputs '<li>no spaces </li>' #}
上面的示例显示了默认的空白控件修饰符,以及如何使用它来删除标记周围的空格。修剪空间将消耗标记该侧的所有空白。 可以在标记的一侧使用空白修剪
所以我认为你给出的exmaples的不同之处在于,在第一个块body
中,块开始后会有一个空格。在你的第二个例子body -
中,块开始后没有。
只需阅读文档条目即可了解其工作原理。
修改强>
一个简单的例子来演示文档中的例子:
{% set value = 'NO space in source code after/before "value"' %}
<li> {{- value -}} </li>
...
HTML标记中的Firebug输出:
而这
{% set value = 'space in source code after "value"' %}
<li> {{- value }} </li>
...
OUPUTS:
注意第二个示例中“value”和结束</li>
之间的空格。因此,减号-
在例如两侧之前,之后或两侧擦除/修剪空白。变量。