handlebars.js で部分テンプレートをレンダリングするときに、プロパティをコンテキストに追加することはできますか?
{{> MyTemplate { X: Y }}}
どの「マスター」テンプレートから使用されるかに応じて、いくつかの値を挿入する必要がある共有テンプレートがあります。
handlebars.js で部分テンプレートをレンダリングするときに、プロパティをコンテキストに追加することはできますか?
{{> MyTemplate { X: Y }}}
どの「マスター」テンプレートから使用されるかに応じて、いくつかの値を挿入する必要がある共有テンプレートがあります。
パーシャルへの呼び出しの中で直接これを行うことはできません。ただし、ラッピング コンテキストで既にコンテキストを使用できる場合は、コンテキストをパーシャルに渡すことができます。
コンテキストにデータを「埋め込む」ために、次のようにプライベート変数を設定するヘルパーを使用できます。
<div>
{{makeVar 'mode' 33}}
<span>mode: {{@mode}}</span><!-- will return mode: 33 -->
</div>
次に、コンテキストから動的なものをヘルパーに渡すことで、現在のコンテキストに追加される makeVar
値を計算できます。@mode
コンテキスト自体を変更したり、コンテキストをその場で計算されたデータとマージしたりすることもできます。(注意してください:そのようにすると、コンテキストの下流のユーザーにも影響します。)
したがって、このようにパーシャルを呼び出し、@mode
それに応じてラッピング コンテキストを設定することができます。
<div>
{{> myPartial .}}<!-- inside partial, @mode is accessible, along with context -->
</div>