24

私はヌンジャックにはまったく慣れていないので、読んだ限りではこれは不可能ですが、誰かがこれを行う方法を思いついたのではないかと思っていました.

私は基本的に、オブジェクトのサイズではなく値に基づいて、nunjucks テンプレートで for ループを実行しようとしています。

次のデータをテンプレートに渡すとします。部屋数の値が、<select>要素から選択されたオプションの値であると仮定します。

data : {
 numberOfRooms : 4
}

numberOfRooms従来の JS では、for ループを記述し、値に基づいてループを制限することができました。

for (var i = 0; i < data.numberOfRooms; i ++) {
  // do something...
}

私の最終的な目標は、マークアップのブロックを X 回 (X は numberOfRooms の値) 複製するループを Nunjucks テンプレートに記述することです。

では、これが可能である場合、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 に答える