Je suis en train de construire mon premier composant Glimmmer en Ember et j'avais quelque chose comme ceci dans mon modèle :
<p>Some val: {{this.my_obj.some.deeply.nested.path.to.val}}</p>
J'ai ensuite fait une correspondance .js
et je me suis dit que j'allais essayer de supprimer le long chemin d'accès du HTML.
Ma première tentative a été de faire un getter :
get val() {
return this.my_obj.some.deeply.nested.path.to.val;
}
Avec le modèle maintenant :
<p>Some val: {{this.val}}</p>
Cela fonctionne initialement et affiche la valeur de départ attribuée à l'élément val
mais elle n'est pas mise à jour lorsque la variable sous-jacente val
changements.
J'ai donc pensé que je pourrais marquer le getter comme suivi, mais cela a fait disparaître la sortie :
@tracked val;
get val() {
return this.my_obj.some.deeply.nested.path.to.val;
}
J'ai alors essayé ceci, mais ce n'est pas une syntaxe valide :
@tracked this.my_obj.some.deeply.nested.path.to.val;
Alors comment gérer cela dans un composant Glimmer ?
La solution n'est certainement pas que le HTML fasse référence à un chemin profond comme celui-ci à chaque fois que la variable est référencée, mais la nouvelle documentation d'Ember, aussi agréable soit-elle, ne me laisse pas le temps de comprendre ce cas relativement simple/commun.