web-dev-qa-db-ja.com

Nunjucksテンプレートを使用して整数値でループ

私は初心者であり、私が読んだことからこれは不可能ですが、誰かがこれを行う方法を考え出したのではないかと思っていました。

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

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

data : {
 numberOfRooms : 4
}

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

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

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

それで、これが可能である場合、Nunjucksでこれをどのように達成しますか?これがヌンジャックの目的に完全に反する場合は、その旨を伝えてください。他の提案があれば、大歓迎です。

19
Jamie Bradley

range構成を使用できるはずです- https://mozilla.github.io/nunjucks/templating.html#range-start-stop-step

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