让我们拿2个阵列 arr1 = ['a','b','c'] 和 arr2 = ['1','2','3'] 。当将这些数组作为params传递给大豆模板时,我想迭代如下所示并打印索引,指示到目前为止迭代的总项目。
index: 0 //variable assigned to 0 by default
{foreach $i in $arr1}
{foreach $j in $arr2}
index = index + 1; //variable incremented by 1
{$index} th item //print item index
{/foreach}
{/foreach}
由于使用 let 声明的变量无法重新分配给新值,因此模板中是否有一种方法可以实现上面显示的逻辑。
答案 0 :(得分:0)
在块中,您可以使用三个仅将迭代器作为参数的特殊函数:
isFirst($var)
仅在第一次迭代时返回true
。isLast($var)
仅在最后一次迭代时返回true
。index($var)
返回列表中的当前索引。列表索引从0开始。 然后您可以使用index($j)
:
{foreach $i in $arr1}
{foreach $j in $arr2}
{index($j)}
{/foreach}
{/foreach}
希望我能提供帮助;)
来源:https://developers.google.com/closure/templates/docs/commands#foreach