hawm
(Hawm)
Février 6, 2022, 9:50
1
Discourse semble déjà mis à niveau vers Ember Octane mais ne prend pas encore en charge certaines nouvelles fonctionnalités.
Je sais que la migration des composants existants dans Discourse représente une charge de travail potentiellement énorme, mais nous aimerions utiliser ces nouvelles fonctionnalités dans notre nouveau plugin. Serait-il donc possible de le faire avant la fin de la migration complète ?
Pour l’instant, mon composant qui étend @glimmer/component génère une erreur “Assertion Failed” :
Glimmer Components - Octane Upgrade Guide - Ember Guides
Avantages des composants Glimmer
Les composants Glimmer présentent des avantages considérables :
Ces nouveaux composants vous offrent tous les avantages décrits dans les classes natives ci-dessus.
Ils n’étendent pas EmberObject du tout, ce qui signifie qu’ils n’ont pas besoin des API EmberObject, telles que reopenClass, extend. Vous pouvez utiliser constructor en toute sécurité pour tout le code d’initialisation.
Les hooks de cycle de vie sont grandement simplifiés et plus faciles à utiliser.
Ils n’ont pas cet élément HTML enveloppant qui gênait le style CSS et la mise en page.
Les arguments sont également regroupés sous this.args dans les composants Glimmer, qui est un objet immuable. Cela signifie que :
Il est clair quand vous accédez aux arguments passés au composant, et quand vous accédez aux champs et propriétés du composant lui-même.
Les arguments font toujours référence à la valeur d’origine qui a été transmise, vous n’avez donc pas à rechercher un code déroutant dans les hooks ou les définitions de propriétés calculées qui modifient la valeur de l’argument.
Il n’y a pas de liaison de données bidirectionnelle déroutante pour les arguments via la classe du composant, les données ne peuvent circuler que dans un sens.
4 « J'aime »
Falco
(Falco)
Février 6, 2022, 1:38
2
Nous travaillons actuellement sur cela et Discourse commencera à utiliser des composants Glimmer dans les prochains mois.
12 « J'aime »