首页 > 解决方案 > 脚本标签内带有占位符的淘汰赛绑定

问题描述

在 Magento 中,我有一个模板显示来自块的 JSON 数据,如下所示:

<script type="text/x-magento-init">
    {
        "*": {
            "MyModule/js/chat" : {
                "customerId" : <?= $block->getCustomerId() ?>
            }
        }
    }
</script>

客户 ID 由稍后加载的一些 JS 拾取。

我要做的是使用 Magento 的客户数据库和 Knockout 来刷新 UI 中的数据,以便仍然可以缓存页面。

所有示例都展示了如何使用data-bind属性将数据绑定到 HTML 元素 - 但是是否可以在脚本标记内使用占位符,例如

<script type="text/x-magento-init" data-bind="scope: 'chatData'" data-role="chat-data-provider">
    {
        "*": {
            "MyModule/js/chat" : {
                "customerId" : chatData().customerId
            }
        }
    }
</script>

可能我需要在稍后加载的 JS 中做所有事情,而不是使用这个 JSON 片段。

标签: javascriptmagentoknockout.js

解决方案


推荐阅读