2014-01-08 119 views
4

我有以下型号:遍历对象属性nunjucks

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

我想获得一个for -loop在我的模板(nunjucks),它遍历所有“someId的”。 有没有人有任何想法如何?正常的for循环不起作用,因为它不是数组,因为我使用“someId ..”作为另一个模板中的引用,所以我不能将它放到数组中。

任何帮助都会很棒。

回答

16

这个答案是对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

我只是在与同事一起寻找类似的问题。这是我们想要的,但解决方案的一个问题是,因为这是JavaScript,循环的顺序不能得到保证。 http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order –