3

让我们采用 2 个数组arr1 = ['a', 'b', 'c']arr2 = ['1' , '2', '3']。当将这些数组作为参数传递给大豆模板时,我想如下所示进行迭代并打印一个指示到目前为止迭代的总项目的索引。

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声明的变量不能重新分配给新值,模板中有没有办法实现我上面显示的逻辑。

4

1 回答 1

1

在该块中,您可以使用三个仅将迭代器作为参数的特殊函数:

  • 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

于 2017-10-19T20:52:40.903 回答