我正在使用带快速模式的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的数字,并为每一个重复一段代码。
它似乎应该是最简单的事情,但我似乎无法找到任何例子。任何指针都会非常感激。
詹姆斯
答案 0 :(得分:2)
这是一个愚蠢的伎俩:
{% for i in Array.prototype.constructor.call(null, FOO) %}
{{ loop.index }}.
{% endfor %}
loop.index
是counter
的基础(从1开始,如果你想要从0开始,请使用loop.index0
。)
答案 1 :(得分:2)
这也有效:
{% for i in Array(x) %}
{{ loop.index }}
{% endfor %}
其中x
是循环的次数。无论出于何种原因,调用构造函数都不在我的案例中。