Gần như tôi có thể nói, khi bạn xem Lưới trong phần phụ trợ của Magento, mẫu KnockoutJS "được tải qua XHR" sau đây là thứ bắt đầu hiển thị mọi thứ
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>
Tuy nhiên - tôi hơi mất công về việc <each/>
thẻ và <render/>
thẻ là gì. Họ không (hoặc dường như không phải là?) Một phần của cổ phiếu KnockoutJS.
Tôi biết có thể thêm các thẻ tùy chỉnh vào KnockoutJS thông qua các thành phần , nhưng tôi không thấy bất kỳ vị trí rõ ràng nào có thành phần được đặt tên each
hoặc render
được thêm vào KnockoutJS.
Vì vậy, tôi không chắc đây là những thành phần được đăng ký ở đâu đó mà tôi không biết hoặc một số tùy chỉnh khác mà Magento đã thực hiện cho KnockoutJS cho phép các thẻ tùy chỉnh hoặc hoàn toàn khác.
Lưu ý: Tôi không hoàn toàn chìm trong bóng tối ở đây - Tôi hiểu rằng <each/>
có lẽ nó đang lặp lại trên mọi thành phần ui con được hiển thị trong JSON và hiển thị mẫu của nó (nếu mẫu đó tồn tại).
Điều tôi không rõ ràng ở tất cả là cách các thẻ này được thực hiện. Tôi muốn xem nơi chúng được triển khai để tôi có thể gỡ lỗi cách dữ liệu bị ràng buộc và cũng hiểu cơ chế mà Magento đang sử dụng để tạo các thẻ này trong trường hợp có các thẻ khác.