减号在树枝块定义中

时间:2013-05-19 11:56:48

标签: twig

这有什么区别:

{%block body %}

那个

{%block body -%}

1 个答案:

答案 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输出: no whitespaces afer value

而这

{% set value = 'space in source code after "value"' %}
<li>    {{- value }}    </li>
...

OUPUTS:

whitespace between "value" and closing </li>

注意第二个示例中“value”和结束</li>之间的空格。因此,减号-在例如两侧之前,之后或两侧擦除/修剪空白。变量。