O modelo KnockoutJS de nível superior da lista Componente da UI é semelhante a este
<!-- File: vendor/magento//module-ui/view/base/web/templates/collection.html -->
<each args="data: elems, as: 'element'">
<render if="hasTemplate()"/>
</each>
Isso é traduzido pelo Magento no seguinte código KnockoutJS bruto.
<!-- ko foreach: {data: elems, as: 'element'} -->
<!-- ko if: hasTemplate() --><!-- ko template: getTemplate() --><!-- /ko --><!-- /ko -->
<!-- /ko -->
Nos dois casos, esse modelo foreach
substituirá a elems
propriedade do modelo de exibição .
Se eu olhar para o módulo RequireJS que (acho>) retorna a classe construtora do modelo de exibição
vendor/magento/module-ui/view/base/web/js/lib/core/collection.js
Vejo que o insertChild
método parece adicionar à elems
propriedade.
O que é menos claro para mim é: para onde o Magento realmente liga insertChild
para preencher elems
e / ou como é elems
preenchido com os modelos de exibição que compõem uma coleção de componentes da interface do usuário?