Komponen vs Widget

10

Di Magento 2 apa perbedaan antara komponen dan widget? Misalnya ada komponen modal dan widget modal, keduanya terlihat melakukan hal yang sama.

Komponen

Komponen Modal UI mengimplementasikan jendela sekunder yang terbuka di atas jendela utama. Ini menggunakan widget modal.

Widget

The Magento modal widget alat jendela sekunder yang terbuka di atas jendela utama.

Widget dapat diinisialisasi dengan beberapa baris JS, dimana komponen membutuhkan banyak baris XML dan masih menggunakan widget. Jadi mengapa ada orang yang menggunakan metode XML?

Ben Crook
sumber

Jawaban:

6

Widget dapat diinisialisasi dengan beberapa baris JS, dimana komponen membutuhkan banyak baris XML dan masih menggunakan widget. Jadi mengapa ada orang yang menggunakan metode XML?

Sistem komponen UI memungkinkan pengembang untuk mengemas sejumlah modul RequireJS yang berbeda sebagai konstruktor model tampilan KnockoutJS, (dengan templat Knockout.js "jarak jauh" yang terkait), dan kemudian menggunakan model tampilan tersebut di sumber HTML halaman Magento dengan mengikat ruang lingkup Knockout.js khusus. Setiap komponen UI juga dikaitkan dengan satu set data sisi server. Tujuan akhirnya adalah untuk membuat bagian fungsionalitas UI yang kompleks yang bukan hanya satu file javascript berantakan yang besar, tetapi pengguna akhir dapat menyertakan dengan sederhana <uiCompnent name="foo"/>dalam tata letak XML mereka.

Jadi, Anda benar bahwa widget modal lebih mudah untuk memulai. Namun, jika Anda sedang membangun Komponen UI yang kompleks, dan ingin Komponen UI kompleks Anda menyertakan fungsionalitas modal, Anda akan menarik komponen Modal UI.

Setidaknya - itulah pemahaman saya saat ini tentang situasi / sistem. Lebih banyak konteks dalam seri Komponen UI saya (tautan sendiri) jika Anda tertarik

Alan Storm
sumber
Jika saya memiliki tugas untuk CRUD sesuatu yang terkait dengan data model contoh komponen bentuk modal saya harus menggunakan komponen modal daripada widget modal! Baik ? Tapi sepertinya lebih sulit untuk diterapkan
mrtuvn
Terima kasih atas jawabannya dan tautan @ alan-storm saya pasti akan memeriksanya. Tampaknya jauh lebih sulit untuk diterapkan tetapi saya kira untuk pekerjaan besar itu lebih masuk akal. Saya akan memberikan beberapa hari untuk jawaban lebih banyak daripada menerimanya.
Ben Crook