Mise à niveau Ember : quel est le plan pour les Mixins, spécifiquement bufferedProperty ?

Je travaille sur COMPATIBILITY: move thumbnail selector to Glimmer & new Component modal system by merefield · Pull Request #32 · merefield/discourse-tc-topic-list-previews · GitHub

J’utilisais bufferedProperty sur un Modal Controller, mais j’ai maintenant été forcé de passer à un Composant pour supporter la nouvelle architecture de modale Composant.

Cependant, je pense avoir toujours besoin d’utiliser bufferedProperty (je mets à jour une valeur dans le Topic Meta).

Cela soulève cependant une erreur :

export default class AwesomeModalComponent extends Component.extend(
  bufferedProperty("model")
) {

… et j’obtiens TypeError: n.default.extend is not a function

J’ai trouvé quelques exemples de ce schéma, mais uniquement pour les Controllers :

Ce serait bien de savoir quel est le plan ici sur le “TODO”.

3 « J'aime »

La solution la plus simple à court terme est la suivante : continuez à utiliser un composant classique pour votre fenêtre modale (c’est-à-dire pas un composant Glimmer). Les composants classiques prennent toujours en charge les mixins.

S’en tenir à un composant classique (c’est-à-dire la stratégie décrite dans Converting modals from legacy controllers to new DModal component API) vous donnera la mise à niveau 1:1 la plus propre par rapport à l’ancien système basé sur les contrôleurs.

À plus long terme, nous devrons trouver des alternatives à certains de nos mixins principaux. Mais nous n’en sommes pas encore là.

4 « J'aime »

Juste pour faire un suivi et vous remercier. J’ai utilisé cette approche exacte et tout a fonctionné - j’ai tout déplacé vers Glimmer à l’exception de la fenêtre modale elle-même qui nécessitait le Mixin.

Au fait, bufferedProperty semble faire beaucoup de magie et ne semble suivre aucune des règles standard relatives à la transmission des changements !

1 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.