繁体   English   中英

如何在谷歌闭包模板中声明和更新变量(大豆模板)

[英]How to declare and update variables in google closure templates(soy template)

让我们取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声明的变量无法重新赋值给新值,因此模板中是否有一种方法可以实现上面所示的逻辑。

在块中,您可以使用三个特殊函数,它们只将迭代器作为参数:

  • 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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM