循环对象属性nunjucks

Tik*_*kes 10 nunjucks

我有以下型号:

items: {
    someId1: 
        {
            property1....
        },
    someId2: {...},
    someIdN: {...}
}
Run Code Online (Sandbox Code Playgroud)

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

任何帮助都是极好的.

Jas*_*ker 29

这个答案实际上是在Nunjucks主页上:

<ul>
   {% for name, item in items %}
      <li>{{ name }}: {{ item }}</li>
   {% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

在你的情况下,这将是:

<ul>
   {% for someId, item in items %}
      <li>{{ someId }}: {{ item.property1 }}</li>
   {% endfor %}
</ul>
Run Code Online (Sandbox Code Playgroud)

正如您可以将for循环用于数组和对象/哈希.

  • 我刚刚和同事一起研究类似的问题。这达到了我们想要的目的,但是该解决方案的一个问题是,因为这是 javascript,所以无法保证循环的顺序。http://stackoverflow.com/questions/5525795/does-javascript-guarantee-object-property-order (2认同)