24

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

4

1 回答 1

36

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

{% for i in range(0, data.numberOfRooms) -%}
  {{ i }},
{%- endfor %}
于 2015-09-21T18:10:54.853 回答