Mustache / Hogan JS:是否可以在列表中引用父标签?

时间:2012-07-22 09:22:52

标签: templating mustache hogan.js

我有一个用例,我想在Mustache / Hogan JS模板中的列表循环部分中访问父标记。

例如,这是我的数据结构:

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>

提前致谢

2 个答案:

答案 0 :(得分:4)

PEBKAC

事实证明,Hogan JS确实支持Context Bubbling spec,所以根据问题我想要的输入实际上是评估我想要的输出! :)我只是遇到了问题,因为我正在处理一个重度嵌套的数据集&amp;几个Mustache包括所以我在路上给了我一些空白输出时犯了一些愚蠢的错误。

现在一切都很好 - 虽然我觉得我最好去找一个Hogan调试器来避免将来进一步受挫......;)

答案 1 :(得分:-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}}

尝试一下......可以工作,因为数据阵列的结构可以让它工作