【问题标题】:How to loop multiple passed parameters in Google closure template?如何在 Google 闭包模板中循环多个传递的参数?
【发布时间】:2013-10-03 01:49:03
【问题描述】:

假设我在 JS 中有这个数组:

var array1[];
var array2[];
var array3[];

这些数组有一些值,我想将它们传递给谷歌的闭包模板。假设我的闭包模板的文件名是 MyArraysTemplate,我想在 MyArraysTemplate 中定位这个特定的模板 --> "ThisArrayTemplate" 像这样:

var myhtml = MyArraysTemplate.ThisArrayTemplate({
   array1 = array1,
   array2 = array2,
   array3 = array3
});

现在我如何只用一个循环循环所有这些数组,因为我想将它们放在一个表中。像这样的:

{ foreach $array_1 in $array1 $array_2 in $array2 $array_3 in $array3 }

#Build their table here

{/foreach}

怎么做?上面的代码是无效的语法。

【问题讨论】:

    标签: javascript google-closure-templates


    【解决方案1】:

    定义一个模板table,以一个数组为参数,然后在主模板中调用3次:

    {call .table}
      {param array: $array1 /}
    {/call}
    {call .table}
      {param array: $array2 /}
    {/call}
    {call .table}
      {param array: $array3 /}
    {/call}
    

    【讨论】:

      【解决方案2】:
      var array1[];
      var array2[];
      var array3[];
      var arrSending = [];
      for (var i = 0; i < array1.length; i++) {
          array.push(arrSending,array1[i];
      }
      for (var i = 0; i < array2.length; i++) {
          array.push(arrSending,array2[i];
      }
      for (var i = 0; i < array3.length; i++) {
          array.push(arrSending,array3[i];
      }
      

      现在您有了一个包含组合数组值的数组 arrSending

      【讨论】:

      • 以及如何访问闭包模板中数组内的每个元素?
      • 我想您必须跟踪每个原始数组的计数(长度),并确保在通过闭包处理之前拆分 arrSending
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 2019-06-27
      • 2020-04-20
      • 2012-07-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      相关资源
      最近更新 更多