Tipally nunjucks
等待單個迭代器爲array
。 當您使用多迭代器並通過array
時,nunjucks
通過迭代器集分割每個array
元素。
{% set pages = [[10, 11], [12, 13]] %}
{% for a, b in pages %}
{{a}},{{b}}
{% endfor %}
---
10:11
12:13
可以使用range
,轉換陣列到對象(元素順序可能會丟失),或者使用loop.index0
「/ loop.index
var nunjucks = require('nunjucks');
var env = nunjucks.configure();
// range
var res = nunjucks.renderString(`
{% for i in range(0, items.length) %}
{% set item = items[i] %}
{{i}}: {{item}}
{% endfor %}`,
{items: [10, 12]}
);
console.log(res);
// array to object
res = nunjucks.renderString(`
{% for i, item in items %}
{{i}}: {{item}}
{% endfor %}`,
{items: Object.assign({}, [10, 12])}
);
console.log(res);
// loop.index0
res = nunjucks.renderString(`
{% for item in items %}
{{loop.index0}}: {{item}}
{% endfor %}`,
{items: [10, 12]}
);
console.log(res);
感謝響應。我真的希望這將是一個更小的模板修復,而不需要更多的修補Nunjucks配置。 – mikeym