Quelle est la différence entre le composant Ember et le widget Discourse ?

Les composants sont largement utilisés dans la plupart des parties de Discourse. Les widgets, quant à eux, s’avèrent utiles pour certains des éléments les plus fréquentés, tels que le flux de messages d’un sujet et l’en-tête avec ses multiples menus.

Vous verrez souvent des widgets utilisés dans les plugins et les thèmes pour ajouter ou modifier des widgets existants.

Prenons par exemple ce widget du plugin discourse-calendar :

Il s’agit d’un bouton rendu dans le message original d’un sujet. Il doit être un widget car le message lui-même est rendu sous forme de widget pour des raisons de performance.

MAIS si vous regardez les lignes 11 à 17 de ce fichier, vous pouvez voir un modèle Handlebars défini dans le JavaScript via l’assistant hbs, et dans ce modèle se trouvent des composants rendus comme {{i18n ...}}.

Donc, en général, vous pouvez utiliser des composants sauf si l’élément de l’interface utilisateur est déjà rendu sous forme de widget. Dans ce cas, utilisez un widget. Et si cela a du sens, vous pouvez utiliser des composants existants à l’intérieur du widget.

7 « J'aime »