Die KnockoutJS-Vorlage der obersten Ebene zum Auflisten der UI-Komponente sieht folgendermaßen aus
<!-- File: vendor/magento//module-ui/view/base/web/templates/collection.html -->
<each args="data: elems, as: 'element'">
<render if="hasTemplate()"/>
</each>
Dies wird von Magento in den folgenden KnockoutJS-Rohcode übersetzt.
<!-- ko foreach: {data: elems, as: 'element'} -->
<!-- ko if: hasTemplate() --><!-- ko template: getTemplate() --><!-- /ko --><!-- /ko -->
<!-- /ko -->
In beiden Fällen wird diese Vorlage foreachüber die elemsEigenschaft des Ansichtsmodells verschoben.
Wenn ich mir das RequireJS-Modul anschaue, das (glaube ich>) die Konstruktorklasse des Ansichtsmodells zurückgibt
vendor/magento/module-ui/view/base/web/js/lib/core/collection.js
Ich sehe, dass die insertChildMethode der elemsEigenschaft hinzugefügt zu werden scheint .
Was mir weniger klar ist, ist: Wo ruft Magento tatsächlich auf, um das insertChildzu füllen, elemsund / oder wie wird es elemsmit den Ansichtsmodellen gefüllt, aus denen eine Sammlung von UI-Komponenten besteht?