Les modèles bruts constituent une optimisation des performances. Seules certaines fonctionnalités de vue Ember sont disponibles ; c’est la suppression de fonctionnalités qui les rend plus rapides.
Par conséquent, nous utilisons ici un modèle différent pour l’extensibilité. Nous n’avons pas tout le cycle de vie d’Ember.
Existe-t-il quelque chose de similaire à setupComponent(args, component) pour les outlets bruts également ? Qu’en est-il des propriétés calculées ? J’aimerais effectuer certains calculs basés sur les données du contexte. Comment puis-je procéder ? Je ne sais même pas si j’ai nommé correctement mon fichier .js.es6 associé. Devrais-je le nommer .raw.js.es6 ?
Est-il possible de « lier » un modèle brut avec du JavaScript correspondant, comme pour les composants réguliers, au sein d’un composant de thème ?
Je me trouve face à un cas d’usage assez complexe et je dois gérer des actions pour remonter des arguments le long de la chaîne des composants, depuis un modèle profondément intégré dans la liste des sujets.
Je remarque qu’il existe plusieurs fichiers .hbr avec apparemment des éléments de composants JavaScript correspondants dans le code source de Discourse, mais j’ai remarqué quelque chose d’étrange, par exemple :
Dans certains travaux récents, j’ai eu besoin qu’une partie de l’« arbre » de modèles puisse transmettre des données depuis un modèle feuille vers le haut en utilisant des actions de fermeture. J’ai donc remplacé certains fichiers .hbr par des fichiers .hbs pour le prendre en charge.
Ce travail est expérimental et je reconnais qu’il aura un impact sur les performances. Cependant, après plusieurs itérations de conception, je n’ai pas trouvé d’autre moyen de réaliser cela tout en restant « dans le cadre » du framework.
Plus précisément, je détermine les propriétés d’une image dans un composant feuille, puis je les stocke comme propriétés du grand-parent afin d’influencer un style qui doit persister au-delà du rendu actuel de la liste. Les données doivent absolument remonter. Si un helper peut y parvenir, cela semble être une bonne option si je reste bloqué avec l’approche actuelle, merci !