4

Mustache /HoganJSテンプレートのリストループセクション内の親タグにアクセスしたいというユースケースがあります。

たとえば、これは私のデータ構造です。

var data = {
  users: [{name: "John", age: 100},{name: "Max", age: 80}],
  meta: {membership: "full"}
};

..そしてこれは私のMustache/Hogan JSテンプレートです:

{{#users}}
h1 Hello there, {{name}}
{{/users}}

..これは次のようにレンダリングされます:

<h1>Hello there, John</h1>
<h1>Hello there, Max</h1>

これはすべて問題ありませんが、 {{#users} ... {{/ users}}セクション内のmeta.membership親変数にアクセスすることは可能ですか?タグはローカルコンテキストに限定されているようです。そのため、ユーザーを反復処理している間、meta.membershipタグの値を出力できません。

理想的には、このようなことが可能かどうかを知りたいです。

{{#users}}
h1 Hello there, {{name}}
p You have a {{meta.membership}} membership
{{/users}}

望ましい結果:

<h1>Hello there, John</h1>
<p>You have a full membership</p>
<h1>Hello there, Max</h1>
<p>You have a full membership</p>

前もって感謝します

4

2 に答える 2

4

PEBKAC

HoganJSはContextBubbling仕様をサポートしているので、質問に従って私の希望する入力は実際に私の希望する出力に評価されます!:)非常にネストされたデータセットといくつかのMustacheインクルードを処理していたため、これを期待どおりに機能させるのに問題がありました。そのため、途中でいくつかのばかげたエラーが発生し、空白の出力が表示されていました。

今はすべて順調です-将来のさらなる欲求不満から救うために、ホーガンデバッガーを見つけに行ったほうがいいと思いますが...;)

于 2012-07-22T13:12:00.060 に答える
-1
{{#users}}
h1 Hello there, {{name}}
p You have a {{#meta.membership}} membership
{{/users}}

また

{{#users #meta}}
h1 Hello there, {{name}}
p You have a {{membership}} membership
{{/users}}

試してみてください...データ配列の構造により機能するため、機能する可能性があります

于 2012-07-22T09:27:39.087 に答える