次のようなhandlebars.jsテンプレートがあります。
{{externalValue}}
<select name="test">
{{#each myCollection}}
<option value="{{id}}">{{title}} {{externalValue}}</option>
{{/each}}
</select>
そして、これは生成された出力です:
myExternalValue
<select name="test">
<option value="1">First element </option>
<option value="2">Second element </option>
<option value="3">Third element </option>
</select>
予想どおり、id
のすべての要素のtitle
およびmyCollection
フィールドにアクセスして、選択を生成できます。また、selectの外側では、externalValue
変数が正しく出力されます( "myExternalValue")。
残念ながら、オプションのテキストでは、externalValue
値は出力されません。
私の質問は、ループ内からそれぞれhandlebars.jsのスコープ外の変数にアクセスするにはどうすればよいですか?
試してみる
<option value="{{id}}">{{title}} {{../externalValue}}</option>
../
パスセグメントは、必要な親テンプレートスコープを参照します。
または、次のような絶対パスを使用できます。
<option value="{{id}}">{{title}} {{@root.user.path.to.externalValue}}</option>