如何解决使用 VueJS 在 shopify 液体中进行双循环
我正在使用 VueJS 遍历 shopify 液体对象,如下所示:
items: [
{% for product in collections['components'].products %}
{
title: "{{ product.title }}",handle: "{{ product.handle }}",image: "{{ product.featured_image | img_url: '400x',scale: 2 }}",product_id: "{{ product.id }}",variant_id: "{{ product.selected_or_first_available_variant.id }}",sku: "{{ product.selected_or_first_available_variant.sku }}",price: "{{ product.selected_or_first_available_variant.price | money }}",variants: [
{% for variant in product.variants %}
{
title: "{{ variant.title }}"
},{% endfor %}
]
},{% endfor %}
],
在变体属性上,我得到一个空数组,尽管我知道每个产品都有变体或至少一个变体。我怀疑语法可能是错误的。可能是什么问题?
解决方法
所以经过多次来回后,我发现您不需要在 VueJS/Javascript 代码中执行另一个循环。您只需要使用如下所示的 json 过滤器将 product.variants 分配给变体属性,变体将在数组中返回,因为它们已经在结果集中。
items: [
{% for product in collections['components'].products %}
{
title: '{{ product.title }}',handle: '{{ product.handle }}',image: '{{ product.featured_image | img_url: "400x",scale: 2 }}',product_id: '{{ product.id }}',variant_id: '{{ product.selected_or_first_available_variant.id }}',sku: '{{ product.selected_or_first_available_variant.sku }}',price: '{{ product.selected_or_first_available_variant.price | money }}',variants: {{ product.variants | json }}
},{% endfor %}
],
这将返回预期的结果。
如果你想要所有的产品信息,你可以简单地做
items: [
{% for product in collections['components'].products %}
{{ product | json }},
这将返回包括变体在内的整个产品信息。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。