Per quanto posso dire, quando si visualizza una griglia nel backend di Magento, il seguente modello KnockoutJS "caricato su XHR" è ciò che inizia a rendere le cose
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>
Tuttavia, sono un po 'perplesso su cosa siano il <each/>
tag e il <render/>
tag. Non sono (o non sembrano essere?) Una parte del magazzino KnockoutJS.
So che è possibile aggiungere tag personalizzati a KnockoutJS tramite i componenti , ma non vedo alcun luogo ovvio in cui un componente venga chiamato each
o render
aggiunto a KnockoutJS.
Quindi, non sono sicuro che si tratti di componenti registrati da qualche parte di cui non sono a conoscenza o di qualche altra personalizzazione che Magento ha apportato a KnockoutJS che abilita tag personalizzati o qualcos'altro.
Nota: non sono completamente al buio qui - ho capito che <each/>
probabilmente sta iterando su ogni componente dell'interfaccia utente figlio renderizzato in JSON e sta visualizzando il suo modello (se quel modello esiste).
Ciò su cui non sono affatto chiaro è come sono implementati questi tag. Voglio vedere dove sono implementati in modo da poter eseguire il debug del modo in cui i dati sono associati e capire anche il meccanismo che Magento sta usando per creare questi tag nel caso ce ne siano altri.