Shopify Liquid 语法 - {%- assign [some_var] = [some_val] -%} 和 {% assign [some_var] = [some_val] 之间有什么区别%}

Shopify Liquid Syntax - What is the difference between {%- assign [some_var] = [some_val] -%} and {% assign [some_var] = [some_val] %}

在使用 Shopify 的 Liquid 语言编码时,我注意到使用以下语法分配了一些变量:

{%- assign variable = value -%}

和使用以下语法分配的其他变量:

{% assign variable = value %}

有人能解释一下区别吗?

当你使用 {% assign variable = value %} 时,你保留任何白色 space 如果有的话。

但是如果你使用 {%- assign variable = value -%} 白色 space 会被去除。

这是主要区别。

PS:这对任何液体操作都是正确的{%- if -%}, {%- capture -%}等。即使你喜欢输出这样的东西{{- -}}

在 Liquid 中,您可以在标记语法 {{-、-}}、{%- 和 -%} 中包含一个连字符,以去除呈现标记左侧或右侧的空白。

如果您不希望任何标签输出空格,作为一般规则,您可以在所有标签的两边添加连字符({%- 和 -%})