Assemble.io - 围绕YAML列表循环:{{each}} vs {{eachProperty}}

时间:2014-10-22 13:22:47

标签: handlebars.js assemble

如果我有一个YAML列表,例如:

主页:/   条款和条件:/terms.html

我想从该列表中呈现一些内容,但是要使用这两个键和值,我必须使用{{eachProperty}}来获取这些值,即:

{{#eachProperty this.value}}       

  • {{键}}
  •  {{/ eachProperty}}

    有人有更好的想法吗?

    1 个答案:

    答案 0 :(得分:2)

    我认为您只需要在YAML数据结构中添加另一个图层,因此您有一个页面列表,其中每个页面都是一个对象,它具有您可以在模板中引用的title和url属性。在下面的示例中,我将YAML放在Handlebars模板的顶部,但如果从外部文件加载,它应该工作相同。

    ---
    links:
      Home:
        url: '/'
        title: 'Home'
      Terms:
        url: '/terms.html'
        title: 'Terms and Conditions'
    ---
    <!DOCTYPE html>
    <html>
    <body>
    <h1>Test List of Links</h1>
    <ul>
        {{#each links}}
            <li><a href="{{url}}">{{title}}</a></li>
        {{/each}}
    </ul>
    </body>
    </html>