Knockout'data-bind'中的'scope'关键字

时间:2017-04-26 07:01:21

标签: javascript mvvm knockout.js scope magento2

我在Magento 2 HTML中找到了以下代码:

<div id="cart-totals" class="cart-totals" data-bind="scope:'block-totals'">

Magento 2在前端使用Knockout但我在Knockout docs中找不到关键字“scope”在这个上下文中的含义。它是Magento 2的功能吗?

1 个答案:

答案 0 :(得分:6)

你的假设是正确的,scope绑定不是内置到淘汰赛中,而是一个magento功能。

根据我的理解,magento使用来自knockout的applyBindings函数而不分配视图模型。然后,scope绑定会查找并加载已注册的视图模型(在本例中为'block-totals'),并将其应用于您拥有scope绑定的DOM节点。

有关详细信息,请查看此处(并给予该人一些信用):)

https://magento.stackexchange.com/questions/120447/how-does-magento-2-apply-knockoutjs-bindings

http://alanstorm.com/magento_2_knockoutjs_integration/