问题
I've got following model:
items: {
someId1:
{
property1....
},
someId2: {...},
someIdN: {...}
}
I would like to get a for
-loop in my template (nunjucks) which goes through all the "someId's".
Does anyone have any idea how? A normal for-loop does not work since it's not an array and since I use the "someId.." for a reference in another template I cannot put it to an array.
Any help would be awesome.
回答1:
This answer is actually right on the Nunjucks homepage:
<ul>
{% for name, item in items %}
<li>{{ name }}: {{ item }}</li>
{% endfor %}
</ul>
In your case this would be:
<ul>
{% for someId, item in items %}
<li>{{ someId }}: {{ item.property1 }}</li>
{% endfor %}
</ul>
As you can use the for loop for arrays and object/hashes.
回答2:
You can use nested loops like this:
<ul>
{% for item in items %}
{% for something in item.someId1 %}
<li>
{{ something.property1 }}
</li>
{% endfor %}
{% endfor %}
</ul>
For this json object:
items: {
someId1: {
property1: "It makes you want to shout! Raise your hands up and..."
},
someId2: {...},
someIdN: {...}
}
来源:https://stackoverflow.com/questions/20990516/loop-through-object-properties-nunjucks