从Magento_Ui/js/lib/knockout/extender/bound-nodes
理论上讲,该注册表将使您能够获取已scoped
编入特定视图模型的HTML-DOM节点列表。即你应该能够说这样的话
boundNodes = requirejs('Magento_Ui/js/lib/knockout/extender/bound-nodes');
reg = requirejs('uiRegistry');
viewModel = reg.get('customer');
console.log( boundNodes.get(viewModel) );
并获取对范围为的li
节点的引用customer
<li class="greet welcome" data-bind="scope: 'customer'">
<!-- ko if: customer().fullname -->
<span data-bind="text: new String('Welcome, %1!').replace('%1', customer().firstname)">
</span>
<!-- /ko -->
<!-- ko ifnot: customer().fullname -->
<span data-bind="html:'Default welcome msg!'"></span>
<!-- /ko -->
</li>
您会注意到理论上和应该使用的用法。根据这个社区论坛主题,问题在于潜伏了一段时间的Magento_Ui/js/lib/knockout/extender/bound-nodes
模块中存在一个未发现的错误。从2.1.x分支开始,它不是您可以依赖的代码。