magento2 knockoutjs ràng buộc mẫu tùy chỉnh


12

Tôi đang cố gắng hiểu knoutjs trong magento2.đặc biệt là ràng buộc mẫu tùy chỉnh. Tôi không thể có được luồng ý tưởng kết xuất này.

Có ai có thể biết làm thế nào nó hoạt động? Tôi có thể tìm định nghĩa của getTemplate ở đâu?

<!-- ko if: (!quoteIsVirtual) -->
            <!-- ko foreach: getRegion('customer-email') -->
                <!-- ko template: getTemplate() --><!-- /ko -->
            <!--/ko-->
        <!--/ko-->

Dưới đây là lời giải thích chi tiết về knockoutjs trong Magento 2 ibnab.com/en/blog/magento-2/ trên
FireBear

Câu trả lời:


26

Mở

Magento / Checkout / view / frontend / layout / checkout_index_index.xml
tập tin. nhìn vào dòng sau

<item name = "thành phần" xsi: type = "chuỗi"> Magento_Checkout / js / view / vận chuyển </ item>

Vì thế

Magento / Checkout / view / frontend / web / js / view / Shipping.js
đây là tập tin js của bạn Mở nó ra. Nhìn
mẫu: 'Magento_Checkout / vận chuyển'
đây là tệp mẫu cho JS này.

Quay trở lại

Magento / Checkout / view / frontend / layout / checkout_index_index.xml
dòng 122 (M2 2.0.0-RC)
<item name = "children" xsi: type = "mảng">
ở đây bạn có thể thấy một số nút con. giống

<item name = "email khách hàng" xsi: type = "mảng">
----
---
</ mục>

Vì thế

getTemplate ()
chịu trách nhiệm kết xuất mẫu hiện tại có nghĩa là

Magento / Checkout / view / frontend / web / template / form / Element / email.html

Mở nó, sau đó bạn có thể thấy đoạn mã sau


<!-- ko foreach: getRegion('additional-login-form-fields') -->
            <!-- ko template: getTemplate() --><!-- /ko -->
            <!-- /ko -->

nút 'trường đăng nhập bổ sung' này là nút con của 'email khách hàng'.

Đối với đoạn mã của bạn, nếu trích dẫn không ảo thì chọn ko

foreach: getRegion ('email khách hàng')
đó là tên nút con và kết xuất mẫu của nó.


getRegion ('khách hàng-email') có nghĩa là <item name = "email khách hàng" xsi: type = "mảng">. Nó có đúng không? tôi có nghĩa là nó sẽ lặp lại các nút con của điều đó.
Sivakumar K

nó chỉ hiển thị mẫu hiện tại. Tôi cập nhật câu trả lời.
Sohel Rana

cảm ơn phản hồi của bạn. nhiều lần trong nhóm xml ..core sử dụng <item name = "thành phần" xsi: type = "string"> uiComponent </ item> .so mà tập tin js xem xét trong trường hợp này?
Sivakumar K

Đúng. xem tập tin sau Magento / Ui / view / base / allowjs-config.js. ở đây uiComponent được khai báo là js.
Sohel Rana

Làm cách nào để có được Site URl, Checkoutpageurl trong bất kỳ mẫu loại trực tiếp nào?
Arun Karnaw

1

Bạn có thể tìm thấy định nghĩa của getTemplate từ,

`root\vendor\magento\module-ui\view\base\web\js\lib\core\element\element.js` 

tập tin từ dòng số 255 đến 257.

  getTemplate: function () {
                return this.template;
            }

mã trên dựa trên tính khả dụng chung của magento 2.0.0.
Rakesh Jesadiya
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.