Soweit ich das beurteilen kann, wird beim Anzeigen eines Gitters im Magento-Backend die folgende KnockoutJS-Vorlage "Über XHR geladen" gerendert
File: vendor/magento//module-ui/view/base/web/templates/collection.html
URL: http://magento.example.xom/pub/static/adminhtml/Magento/backend/en_US/Magento_Ui/templates/collection.html
<each args="data: elems, as: 'element'">
<render if="hasTemplate()"/>
</each>
Allerdings - ich bin ein bisschen ratlos, was das <each/>
Tag und das <render/>
Tag sind. Sie sind nicht (oder scheinen nicht zu sein?) Ein Teil der Lager KnockoutJS.
Ich weiß, dass es möglich ist, über Komponenten benutzerdefinierte Tags zu KnockoutJS hinzuzufügen , aber ich sehe keine offensichtlichen Stellen, an denen eine Komponente KnockoutJS benannt each
oder render
hinzugefügt wird.
Daher bin ich mir nicht sicher, ob es sich um Komponenten handelt, die an einer mir nicht bekannten Stelle registriert sind, oder um eine andere Anpassung, die Magento an KnockoutJS vorgenommen hat und die benutzerdefinierte Tags ermöglicht, oder um etwas ganz anderes.
Hinweis: Ich bin hier nicht ganz im Dunkeln - ich verstehe, dass <each/>
wahrscheinlich jede untergeordnete UI-Komponente, die in JSON gerendert wird, durchlaufen und deren Vorlage gerendert wird (sofern diese Vorlage vorhanden ist).
Was mir überhaupt nicht klar ist, wie diese Tags implementiert werden. Ich möchte sehen, wo sie implementiert sind, damit ich debuggen kann, wie Daten gebunden werden, und den Mechanismus verstehen, mit dem Magento diese Tags erstellt, falls es andere gibt.
quelle