J'ai un template handlebars.js, juste comme ceci:
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
Et voici la sortie générée:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
Comme prévu, je peux accéder aux champs id
et title
de chaque élément de myCollection
pour générer ma sélection. Et en dehors de la sélection, ma variable externalValue
est correctement imprimée ("myExternalValue").
Malheureusement, dans les textes des options, la valeur externalValue
n'est jamais imprimée.
Ma question est la suivante: comment puis-je accéder à une variable en dehors de la portée du descripteur handlebars.js depuis la boucle?
Essayer
<option value="{{id}}">{{title}} {{../externalValue}}</option>
Le ../
segment de chemin fait référence à la portée du modèle parent qui devrait correspondre à vos souhaits.
Ou vous pouvez utiliser un chemin absolu comme ceci:
<option value="{{id}}">{{title}} {{@root.user.path.to.externalValue}}</option>