後で別の for ループ内で使用するために、一時的/コンテキスト変数を for ループに格納しようとしています。http://borismoore.github.io/jsrender/demos/step-by-step/11_accessing-parent-data.htmlを参考にしました。
{^{for instances ~templateId=templateId}}
{{:~templateId}}
<select data-link="templateId" class="selected-visible" name="select-template">
{^{for ~root.templates}}
<option data-link="{:name} value{:id} selected{:id == ~templateId}"></option>
{{/for}}
</select>
{{/for}}
インスタンス配列内の各データ オブジェクトには、特定の値に設定された templateId プロパティがあり、テンプレート配列内の各オブジェクトには id プロパティがあります。
最初の問題は、デバッグ {{:~templateId}} が表示されないことです。変数が割り当てられていないようです。
テンプレート マークアップ内で ~helper セットのみを使用した後、「ビューモデル」でヘルパーを明示的に定義しようとしました
$.views.helpers({templateId: 0});
forループで設定しないと値が出力されるようになりましたが、forループで設定すると再び消えます。
次の問題は、ヘルパーがインスタンス ループの子ビューでのみ使用できるようにする必要があるため、~root スコープの for ループで ~templateId ヘルパーを使用できないことでしょうか?
最終的な目標は、選択で正しい値を選択することです。他の解決策が利用可能な場合は、教えてください。