【发布时间】:2019-09-10 07:11:15
【问题描述】:
谁能帮我区分{% %} 和{%- -%}。这些语法之间有什么区别。在我的所有用法中,我可以使用任何主题
【问题讨论】:
谁能帮我区分{% %} 和{%- -%}。这些语法之间有什么区别。在我的所有用法中,我可以使用任何主题
【问题讨论】:
唯一的区别是一个去除空白而另一个不去除。
所以这个{% %} 将保留它周围的任何空白。
而这个{%- -%} 将去除空白。
这同样适用于{{ }} 和{{- -}}。
或者为了更简单,{{- -}} 与 {{ }} 相同,但应用了条形过滤器,因此它变为 {{ | strip }}。
您可以将其视为剥离内容的速记方法。
【讨论】:
strip 过滤器将去除标签结果中的空白。请参阅help.shopify.com/en/themes/liquid/basics/whitespace - 例如,如果你有一个 for 循环,里面有一堆 Liquid 逻辑,你最终会在生成的 HTML 中打印很多空行。但是,如果您的所有流动标签都包含连字符,则生成的 HTML 将不会包含标签之间的所有空行。
{%- -%} 和{{- -}} 吗?
class="some-class {{ settings.some_value }}" 很好,但 {{ class="some-class {{- settings.some_value -}}" 可能不是。我当然愿意说 通常 使用空格剥离符号来清理生成的 HTML 是一个好主意 :)