Le modèle KnockoutJS de niveau supérieur de la liste des composants d'interface utilisateur ressemble à ceci
<!-- File: vendor/magento//module-ui/view/base/web/templates/collection.html -->
<each args="data: elems, as: 'element'">
<render if="hasTemplate()"/>
</each>
Ceci est traduit par Magento dans le code KnockoutJS brut suivant.
<!-- ko foreach: {data: elems, as: 'element'} -->
<!-- ko if: hasTemplate() --><!-- ko template: getTemplate() --><!-- /ko --><!-- /ko -->
<!-- /ko -->
Dans les deux cas, ce modèle foreach
survolera la elems
propriété du modèle de vue .
Si je regarde le module RequireJS qui (je pense>) renvoie la classe constructeur du modèle de vue
vendor/magento/module-ui/view/base/web/js/lib/core/collection.js
Je vois que la insertChild
méthode semble s'ajouter à la elems
propriété.
Ce qui est moins clair pour moi est: où Magento appelle-t-il réellement insertChild
pour remplir le elems
et / ou comment est-il elems
rempli avec les modèles de vue qui composent une collection de composants d'interface utilisateur?