【问题标题】:Loop through object properties nunjucks循环遍历对象属性 nunjucks
【发布时间】:2014-01-26 06:00:39
【问题描述】:

我有以下型号:

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

我想在我的模板(nunjucks)中获得一个for-loop,它会遍历所有“someId”。 有谁知道怎么做?普通的 for 循环不起作用,因为它不是数组,而且我使用“someId..”作为另一个模板中的引用,我不能将它放入数组中。

任何帮助都会很棒。

【问题讨论】:

    标签: nunjucks


    【解决方案1】:

    这个答案其实就在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

    【讨论】:

    • 我只是在和同事一起研究类似的问题。这就是我们想要的,但解决方案的一个问题是,因为这是 javascript,所以无法保证循环的顺序。 stackoverflow.com/questions/5525795/…
    【解决方案2】:

    你可以像这样使用嵌套循环:

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

    对于这个 json 对象:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-20
      • 2016-09-09
      • 2014-12-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多