繁体   English   中英

我可以在JS文件中使用液体吗?

[英]Can I use liquid inside JS file?

我正在使用Shopify,并且如果存在特定的产品标签,则需要显示一些消息。 我需要从JS文件中检查产品标签,并且需要知道该怎么做。

我尝试在js文件中使用{{product.tags}},但出现错误,我也在.js.liquid文件中尝试了此操作,但仍然抛出错误。

{% assign clearance = false %}
    {% for tag in product.tags %}
            {% if tag contains 'Clearance' %}
                 {% assign clearance = true %}
            {% endif %}
   {% endfor %}

有一种方法可以在js中使用吗? 如果没有,我如何以js方式获取所有产品标签? 我知道我可以从临时文件中执行此操作,但是我只需要在js文件中执行此操作。

您可能正在寻找名为jsx Java扩展。

除此之外,本来就具有template literals ,但是您只能在其中使用表达式,而不能使用循环或其他逻辑(除了三元表达式 )。

如果您要查找的内容与创建HTML无关,而仅与修改变量(或对数据执行其他代码)有关,则可以使用标准Javascript:

let clearance = false;
for (const tag in product.tags) { // this assumes product.tags is an object
for (const tag of product.tags) { // this assumes product.tags is an array
    if (tag.includes('Clearance') {
        clearance = true;
    }
}

.js.liquid文件将只接受转换字符串作为Liquid中的var(例如:{{“ my_text” | t}}。

如果您想在Javascript代码中使用其他类型的Liquid字符串,则可以使用一节,并将JavaScript包含在{%javascript%}标签内。

这也可以在代码段或模板中使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM