【问题标题】:Is it possible to initiate object as variable in liquid?是否可以将对象作为液体中的变量启动?
【发布时间】:2019-08-22 04:01:57
【问题描述】:

我是 Liquid 环境的新手,想知道您是否可以像 JS 一样在 Liquid 文件中启动对象变量?

let person = [{
    'name' : 'John Doe',
    'age' : '20'
}];

我知道液体正在使用 {% assign %} 那么它有什么工作方式吗

{% assign person = [{
    'name' : 'John Doe',
    'age' : '20'
}]; %}

这是直接初始化它而不从元字段中提取任何数据。

提前致谢!

【问题讨论】:

    标签: shopify liquid


    【解决方案1】:

    你可能会使用这样的东西:

    {%- capture person -%}
    name : John Doe , age : 20
    {%- endcapture -%}
    {% assign person = person | split:',' %}
    

    Person 现在是一个数组。

    {{ person.first }}
    

    {{ person[0] }}
    

    将输出:name : John Doe

    然后,更进一步:

    {% assign person_name = person.first | split:':' %}
    

    所以

    {{ person_name.last }}
    

    {{ person_name[1] }}
    

    将输出:John Doe

    等等

    【讨论】:

    • 反应不错,我试试看:)
    【解决方案2】:

    除非您已将对象数据保存在您在 Shopify 编辑器中定义和创建的元字段中,否则您无法在 Shopify 中创建新的自定义对象。

    以下是您可以创建对象并将其分配为字符串的一种方式,稍后,您可以使用 javascript 从字符串创建 javascript 对象。

    {% assign person = "[{'name' : 'John Doe','age' : '20'}]" %}
    
    <script>
     var person = {{person}};
     //typeof(person) is object
    </script>
    

    【讨论】:

    • 啊。可以的话我就随便逛逛。谢谢你:)
    猜你喜欢
    • 2020-03-16
    • 2017-08-22
    • 1970-01-01
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 2020-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多