我对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的目的,请说,任何其他建议将不胜感激。

最佳答案

您应该能够使用range构造-https://mozilla.github.io/nunjucks/templating.html#range-start-stop-step

{% for i in range(0, data.numberOfRooms) -%}
  {{ i }},
{%- endfor %}

09-05 00:55