Componente vs Widget

10

No Magento 2, qual é a diferença entre um componente e um widget? Por exemplo, há um componente modal e um widget modal, ambos parecem fazer a mesma coisa.

Componente

O componente Modal UI implementa uma janela secundária que é aberta na parte superior da janela principal. Ele usa o widget modal.

Ferramenta

O widget modal do Magento implementa uma janela secundária que se abre na parte superior da janela principal.

O widget pode ser inicializado com algumas linhas de JS, onde o componente requer muitas linhas de XML e ainda usa o widget. Então, por que alguém usaria o método XML?

Ben Crook
fonte

Respostas:

6

O widget pode ser inicializado com algumas linhas de JS, onde o componente requer muitas linhas de XML e ainda usa o widget. Então, por que alguém usaria o método XML?

O sistema de componentes da interface do usuário permite que um desenvolvedor empacote vários módulos RequireJS diferentes como construtores de modelo de exibição KnockoutJS (com modelos Knockout.js "remotos" associados) e use esses modelos de exibição na fonte HTML da página Magento com um ligação de escopo especial do Knockout.js. Cada componente da interface do usuário também está associado a um conjunto de dados do lado do servidor. O objetivo final é criar uma parte complexa da funcionalidade da interface do usuário que não seja apenas um arquivo javascript gigante e confuso, mas que os usuários finais possam incluir com um <uiCompnent name="foo"/>XML simples no layout.

Portanto, você está certo de que o widget modal é mais fácil de começar. No entanto, se você estiver criando um componente de interface do usuário complexo e desejar que o componente de interface do usuário complexo inclua funcionalidade modal, você utilizará o componente de interface de usuário modal.

Pelo menos - esse é meu entendimento atual da situação / sistema. Mais contexto na minha série de componentes de interface do usuário (link automático) se você estiver interessado

Alan Storm
fonte
Se eu tiver uma tarefa para CRUD, algo associado ao componente modal do exemplo de dados do modelo, devo usar o componente modal em vez do widget modal! Certo ? Mas parece mais difícil de implementar
mrtuvn
Obrigado pela resposta e link @ Alan Storm, eu definitivamente vou vê-los. Parece muito mais difícil de implementar, mas suponho que, para um grande trabalho, faça mais sentido. Vou dar alguns dias para obter mais respostas e aceitar uma.
Ben Crook