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绑定副本的示例。