如何在swig模板中重复一段代码X次(expressjs)

时间:2013-12-14 02:32:20

标签: node.js express swig-template

我正在使用带快速模式的swig模板并尝试做一些可能非常简单的事情,但我无法在任何地方找到示例。

我有一个包含数字的变量,FOO。

然后我有一段代码我想重复FOO次。

节点I中的

会这样做:

var FOO=5;
for(var counter=1;counter<FOO;counter++)
{
    console.log('This is line #' + counter);
}

在swig中有{%for X in Y%}方法,但这需要一个数组来迭代。我想要的是从1(或0)到FOO的数字,并为每一个重复一段代码。

它似乎应该是最简单的事情,但我似乎无法找到任何例子。任何指针都会非常感激。

詹姆斯

2 个答案:

答案 0 :(得分:2)

这是一个愚蠢的伎俩:

{% for i in Array.prototype.constructor.call(null, FOO) %}
  {{ loop.index }}.
{% endfor %}

loop.indexcounter的基础(从1开始,如果你想要从0开始,请使用loop.index0。)

答案 1 :(得分:2)

这也有效:

{% for i in Array(x) %}
  {{ loop.index }} 
{% endfor %}

其中x是循环的次数。无论出于何种原因,调用构造函数都不在我的案例中。