javascript - 将液体分配给 JavaScript 变量

标签 javascript shopify liquid

var first = 'one',
    second = 'two.png';
    image = first + second;
console.log('js image: ' + image);
image = '{{ image | asset_url }}';
console.log('liquid image: ' + image);

在控制台中生成:

js image: onetwo.png
liquid image: 

我无法获取从液体过滤器输出代码的代码。我尝试过使用 {% raw %} 并查看了一些 SO 问题( Shopify: Using variables from {% schema %} in JavascriptUsing javascript variables in Shopify liquidUsing asset_url within a .js.liquid file ),但无济于事。

我在这里做错了什么?我期望得到:

liquid image: onetwo.png?123456789

甚至删除asset_url:

image = '{{ image }}';

仍然产生:

liquid image:

最佳答案

与@Subhrajyoti Das 聊天后,有一种奇怪的方法可以做到这一点。

使用虚拟文本创建完整字符串,其中实际文件名是:

assetString = '{{ 'filename' | asset_url }}'

这会产生:

cdn.shopify.com/s/files/0/0000/0000/0000/t/00/assets/filename?0000000000

然后使用字符串替换将“文件名”替换为 Assets 变量:

image = assetString.replace("filename", image);

关于javascript - 将液体分配给 JavaScript 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54478642/

相关文章:

javascript - 解析数组中的内容

Javascript 变量出现在控制台中但未定义

include - Shopify Liquid 有条件地包含部分

html - Div 2 Column Set Set using images and block-links inline-block 不起作用 - Shopify/liquid

html - 在 .liquid 上集成 Bootstrap ( shopify )

javascript - 如何为这种类型的构造函数创建原型(prototype)?

javascript - 使用优化器在慢速连接上加载 main.js 时 RequireJS 超时

javascript - 使用 sinon 测试 React PropTypes

javascript - 如何使用液体模板语言在循环中添加 anchor 标记?

python - Shopify API : delete discounts and price rules