循环对象属性nunjucks

时间:2014-01-08 08:35:52

标签: nunjucks

我有以下型号:

items: {
    someId1: 
        {
            property1....
        },
    someId2: {...},
    someIdN: {...}
}

我想在我的模板(nunjucks)中获得一个for循环,它遍历所有“someId”。 有谁知道怎么样?正常的for循环不起作用,因为它不是一个数组,因为我使用“someId ..”作为另一个模板中的引用,我无法将它放到数组中。

任何帮助都会很棒。

2 个答案:

答案 0 :(得分:25)

这个答案实际上就在Nunjucks homepage

<ul>
   {% for name, item in items %}
      <li>{{ name }}: {{ item }}</li>
   {% endfor %}
</ul>

在你的情况下,这将是:

<ul>
   {% for someId, item in items %}
      <li>{{ someId }}: {{ item.property1 }}</li>
   {% endfor %}
</ul>

正如您可以使用for loop for arrays and object/hashes

答案 1 :(得分:0)

您可以执行嵌套循环:

&#13;
&#13;
<ul>
   {% for item in items %}
    {% for something in item.someId1 %}
        <li>
          {{ something.property1 }}
        </li>
    {% endfor %}
   {% endfor %}
</ul>
&#13;
&#13;
&#13;

对于此JSON字符串:

&#13;
&#13;
items: {
    someId1: 
        {
            property1: "It makes you want to shout! Raise your hands up and..."
        },
    someId2: {...},
    someIdN: {...}
}
&#13;
&#13;
&#13;