4

我有一个用例,我想在 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>

提前致谢

4

2 回答 2

4

佩卡克

事实证明,Hogan JS 确实支持Context Bubbling 规范,因此根据问题我想要的输入实际上会评估为我想要的输出!:) 我只是在让它按预期工作时遇到问题,因为我正在处理一个高度嵌套的数据集和几个 Mustache,所以我在此过程中犯了一些愚蠢的错误,导致我的输出为空白。

现在一切都好-尽管我想我最好去找一个 Hogan 调试器,以免将来进一步沮丧... ;)

于 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 回答