这两者有什么不同:
{%block body %}
并且那个
{%block body -%}
这两者有什么不同:
{%block body %}
并且那个
{%block body -%}
我在文档中读到了一些关于此的内容,不确定这是否也适用于{% block ... %}
标记。
Twig空格控制
{% 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>' #}
上述示例展示了默认的空白控制修饰符以及您如何使用它来移除标签周围的空格。删除空格会消耗该侧标签的所有空格。可以在标签的一侧使用空格修剪。body
开始后会有一个空格。在您的第二个示例body-
中,在块开始后没有空格。只需阅读文档条目即可了解其工作原理。{% set value = 'NO space in source code after/before "value"' %}
<li> {{- value -}} </li>
...
在Firebug中的HTML标记中输出:
而这个则是
{% set value = 'space in source code after "value"' %}
<li> {{- value }} </li>
...
输出结果:
{% if true %} (space|newline in template) {% set something = {} %}
),以及修饰符是否两侧都需要(.. true -%}
/ {%- set ..
)或者只需要一侧就可以。 - Kamafeathertrue%}
或{% set
上)就足够了。否则似乎所有间距都被考虑了(无论是纯TWIG指令之间还是带有HTML标记的指令之间)。 - Kamafeather