Jsrender: {{for}}の変数にアクセスできません

作成日 2012年06月15日  ·  3コメント  ·  ソース: BorisMoore/jsrender

こんにちはボリス、

以下をテンプレートに渡します
{'items':アイテム、ランク付け:true}

itemsはオブジェクトの配列です

私のテンプレートには、

{{アイテムの場合}}
{{if(ランク付け)}} {{:#index}} {{/ if}}
{{/にとって}}

しかし、変数「ran​​ked」は何もしないようです。

最も参考になるコメント

{{for items}}内では、データコンテキスト(現在のデータアイテム)はitems配列のアイテムです。
したがって、item.ranked == trueのアイテムをテストしています。 ただし、ランク付けされたプロパティは、アイテムではなく、アイテムプロパティを持つオブジェクト上にあります。 多分あなたが欲しい

{{for items}}
   {{if #parent.parent.data.ranked)}}{{:#index}}{{/if}}
{{/for}}

使用できる別のアプローチは、ランク付けされたプロパティをコピーし、テンプレートコンテキストを介してネストされたテンプレートにアクセスできるようにするテンプレート変数を作成することです。

{{for items ~isRanked=ranked}}
   {{if ~isRanked)}}{{:#index}}{{/if}}
{{/for}}

データプロパティは、ネストされたコンテキストで自動的に公開されません。 (JsRenderにはwith (data) {}ブロックはありません)。 しかし、テンプレートパラメータは、ネストされたコンテキストに変数を公開することをオプトインするためのより良い方法を提供します...

全てのコメント3件

{{for items}}内では、データコンテキスト(現在のデータアイテム)はitems配列のアイテムです。
したがって、item.ranked == trueのアイテムをテストしています。 ただし、ランク付けされたプロパティは、アイテムではなく、アイテムプロパティを持つオブジェクト上にあります。 多分あなたが欲しい

{{for items}}
   {{if #parent.parent.data.ranked)}}{{:#index}}{{/if}}
{{/for}}

使用できる別のアプローチは、ランク付けされたプロパティをコピーし、テンプレートコンテキストを介してネストされたテンプレートにアクセスできるようにするテンプレート変数を作成することです。

{{for items ~isRanked=ranked}}
   {{if ~isRanked)}}{{:#index}}{{/if}}
{{/for}}

データプロパティは、ネストされたコンテキストで自動的に公開されません。 (JsRenderにはwith (data) {}ブロックはありません)。 しかし、テンプレートパラメータは、ネストされたコンテキストに変数を公開することをオプトインするためのより良い方法を提供します...

jsレンダーを使用して子行を表示しているjqueryデータテーブルがあります。 テーブルの両方の列について、データは2つの異なる配列から取得されます。 では、データを2つの別々の行に分割し、現在コンマ区切りのリストとして表示するにはどうすればよいですか?

@ Krish2215 :これはバグやその他の問題を報告するためのものであり、一般的なヘルプの質問のためのものではありません。 あなたはstackoverflowhttps://stackoverflow.com/questions/tagged/jsrenderを試すことができます。 しかし、あなたはもっと具体的な文脈を与える必要があり、理想的にはあなたの正確な難しさを示すためにjsfiddleを与える必要があります。

このページは役に立ちましたか?
0 / 5 - 0 評価