Magento2 binding syntax

Magento2 binding syntax : Magento2 绑定语法

概述

在HTML模板中,Magento为您提供了使用绑定语法的选择,这种语法比标准的Knockout绑定语法更简单、更易于读写。下面的代码片段有助于进行比较。

Knockout native syntax

<!-- ko if: isVisible -->
    <div class="someClass">
       <!-- ko i18n: 'Some translatable message!' --><!-- /ko -->
        <span data-bind="html: content"></span>
    </div>
<!-- /ko -->

Magento syntax

<if args="isVisible">
    <div class="someClass">
        <translate args="'Some translatable message!'"/>
        <span html="content"></span>
    </div>
</if>

或者

<div class="someClass" if="isVisible">
    <span translate="'Some translatable message!'"></span>
    <span html="content"></span>
</div>

如果您使用Magento语法,在加载HTML模板期间,Magento包装器会用匹配的Knockout注释或数据绑定属性替换Magento语法。

为了获得更好的渲染性能,我们建议使用Knockout native syntax。 Magento syntax 的渲染速度可能比 Knockout native syntax要慢。 使用Magento syntax 时每次为组件加载HTML模板时,都会对其进行解析和相应调整。 KnockoutJS确切知道应该更新哪些绑定。 如果性能至关重要,请同时测试两种方法。

Binding map

下表显示了如何将Knockout bindings map到其Magento绑定副本的示例。