내가 알 수 있듯이 Magento의 백엔드에서 그리드를 볼 때 다음과 같은 "XHR에로드 됨"KnockoutJS 템플릿이 렌더링을 시작합니다.
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>
그러나- <each/>
태그와 <render/>
태그가 무엇인지 약간의 손실 이 있습니다. 그들은 KnockoutJS의 일부가 아닙니다 (또는 보이지 않는 것 같습니다).
components를 통해 KnockoutJS에 커스텀 태그를 추가하는 것이 가능하다는 것을 알고 있지만 KnockoutJS에 이름 이 추가 each
되었거나 구성 요소 render
가 추가 된 명확한 장소는 보이지 않습니다 .
따라서 이것이 내가 모르는 곳에 등록 된 구성 요소인지 또는 Magento가 KnockoutJS에서 사용자 정의 태그 또는 다른 것을 가능하게하는 다른 사용자 정의인지 확실하지 않습니다.
참고 : 나는 완전히 어둠에 있지는 않습니다. <each/>
아마 JSON에서 렌더링 된 모든 자식 ui 구성 요소를 반복하고 해당 템플릿이있는 경우 해당 템플릿을 렌더링합니다.
전혀 명확하지 않은 것은 이러한 태그가 어떻게 구현되는지입니다. 데이터가 바인딩되는 방식을 디버깅 할 수 있도록 데이터가 구현 된 위치를 확인하고 Magento가 다른 태그가있는 경우 이러한 태그를 만드는 데 사용하는 메커니즘을 이해하고 싶습니다.