Liquid中能否使用含空格的变量?相关规则咨询
Liquid模板中带空格变量的使用说明
Liquid默认不允许直接用{{ my variable }}这种格式访问带空格的变量——因为它会把空格解析成标识符分隔符,将其识别为两个独立的变量my和variable,导致解析错误。
要处理带空格的变量/属性,分两种场景:
场景1:对象的属性名带空格
如果你有一个对象(比如user),其中包含带空格的属性(比如full name),需要使用方括号+引号的语法访问:{{ user["full name"] }} <!-- 也可以用单引号 --> {{ user['full name'] }}场景2:独立变量名带空格(或外部传入的带空格变量)
Liquid的变量命名规则不允许直接定义带空格的变量(合法变量名只能包含字母、数字、下划线、连字符)。如果是从外部传入的带空格变量(比如Jekyll front matter里的my variable: hello),同样通过方括号语法访问对应的上下文对象:<!-- 访问front matter中的带空格变量 --> {{ page["my variable"] }}如果是自己需要使用带空格的语义名称,建议先通过
{% assign %}给它分配一个合法的别名:{% assign my_variable = "带空格的变量值" %} {{ my_variable }}
总结:不需要对空格进行转义,而是通过方括号+引号的语法来访问带空格的属性或外部传入的带空格变量;对于自定义变量,优先使用合法命名规则,避免空格。
内容的提问来源于stack exchange,提问作者David542
相关产品推荐
相关产品推荐

