我对nunjucks很新,从我所看到的这是不可能的,但我想知道是否有人想出办法。
我基本上希望在nunjucks模板中基于值而不是对象的大小执行for循环。
假设您将以下数据传递给模板。假设房间数值是<select>
元素中所选选项的值:
data : {
numberOfRooms : 4
}
在传统的JS中,我可以编写for循环并根据numberOfRooms
值限制循环:
for (var i = 0; i < data.numberOfRooms; i ++) {
// do something...
}
我的最终目标是在Nunjucks模板中编写一个循环,该模板将复制一个标记块X次,其中X是numberOfRooms值。
所以,如果可以的话,Nunjucks会如何实现这一目标?如果这完全违背了Nunjucks的目的那么请说,并且非常感谢任何其他建议。
答案 0 :(得分:23)
您应该可以使用range
构造 - https://mozilla.github.io/nunjucks/templating.html#range-start-stop-step
{% for i in range(0, data.numberOfRooms) -%}
{{ i }},
{%- endfor %}