2016-11-03 31 views
3

讓我們拿2個數組arr1 = ['a','b','c'] and 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} 

由於可變使用不能被重新分配給一個新的值聲明的,是有在模板的方式來實現我在上面所示的邏輯。

回答

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