Componente vs widget

10

En Magento 2, ¿cuál es la diferencia entre un componente y un widget? Por ejemplo, hay un componente modal y un widget modal, ambos parecen hacer lo mismo.

Componente

El componente Modal UI implementa una ventana secundaria que se abre en la parte superior de la ventana principal. Utiliza el widget modal.

Widget

El widget modal de Magento implementa una ventana secundaria que se abre en la parte superior de la ventana principal.

El widget se puede inicializar con unas pocas líneas de JS, donde el componente requiere muchas líneas de XML y aún utiliza el widget. Entonces, ¿por qué alguien usaría el método XML?

Ben Crook
fuente

Respuestas:

6

El widget se puede inicializar con unas pocas líneas de JS, donde el componente requiere muchas líneas de XML y aún usa el widget. Entonces, ¿por qué alguien usaría el método XML?

El sistema de componentes de la interfaz de usuario permite a un desarrollador empaquetar una serie de diferentes módulos RequireJS como constructores de modelos de vista KnockoutJS (con plantillas Knockout.js "remotas" asociadas) y luego usar esos modelos de vista en la fuente HTML de la página Magento con un enlace especial de alcance Knockout.js. Cada componente de la IU también está asociado con un conjunto de datos del lado del servidor. El objetivo final es crear una pieza compleja de funcionalidad de interfaz de usuario que no sea solo un archivo javascript desordenado gigante, sino que los usuarios finales puedan incluir un <uiCompnent name="foo"/>XML de diseño simple .

Por lo tanto, tiene razón en que es más fácil comenzar con el widget modal. Sin embargo, si está creando un Componente de interfaz de usuario complejo y desea que su Componente de interfaz de usuario complejo incluya funcionalidad modal, debería incorporar el componente de interfaz de usuario modal.

Al menos, esa es mi comprensión actual de la situación / sistema. Más contexto en mi serie de componentes UI (enlace automático) si está interesado

Alan Storm
fuente
Si tengo una tarea para CRUD algo asociado con el componente de formulario modal de ejemplo de datos de modelo, ¡debería usar el componente modal en lugar del widget modal! Derecha ? Pero parece más difícil de implementar
mrtuvn
Gracias por la respuesta y enlace @ alan-storm Definitivamente los revisaré. Parece mucho más difícil de implementar, pero supongo que para un gran trabajo tiene más sentido. Le daré unos días para obtener más respuestas y luego aceptaré una.
Ben Crook