【问题标题】:Mustache/Hogan JS: Is it possible to reference parent tags within a list?Mustache/Hogan JS:是否可以在列表中引用父标签?
【发布时间】:2012-07-20 21:29:22
【问题描述】:

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

提前致谢

【问题讨论】:

    标签: templating mustache hogan.js


    【解决方案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}}
    

    试一试...可以工作,因为数据数组的结构允许它工作

    【讨论】:

    • 感谢您的想法,不幸的是这些都不起作用。 :( 我想我可能只需要更改我的数据结构以适应上下文的限制。
    【解决方案2】:

    PEBKAC!

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

    现在一切都好 - 虽然我想我最好去找一个 Hogan 调试器来避免将来进一步沮丧......;)

    【讨论】:

      猜你喜欢
      • 2012-09-25
      • 2013-07-28
      • 1970-01-01
      • 2012-04-07
      • 1970-01-01
      • 2018-10-26
      • 1970-01-01
      • 1970-01-01
      • 2022-07-25
      相关资源
      最近更新 更多