外部和内部 forloop angular

Outer and inner forloop angular

我是 angular 的新手...我想做的基本上是一个“循环中的循环”(一个外部循环和一个内部循环)

html:

<tbody>
<tr ng-repeat="service in services track by $index">
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>How do I write here to show (line1,row1) (color1,red1) etc ?</td>
        <td>If item2 ... (line2,row2) (color2,red2)</td>
        <td>If item3 ... (line3,row3) (color3,red3)</td>
        </tr>
    </table>  
</td>
</tr>
</tbody>

我的控制器(数据充当模型):

 $scope.services = [
  { index: 0, 
    name: "Getwebcolors", 
    url:"getwebcolors", 
    type: "GET", 
    description: "Hexadecimal values from {url} separated by semicolons", 
    data:[["line1","solid1"],["color1","red1"]] },
  { 
    index: 1, 
    name: "desc 2", 
    url:"", 
    type:"GET", 
    description: "X2", 
    data:[["line2","solid2"],["color2","red2"]] },
  { 
    index: 2, 
    name: "desc 3", 
    url:"", 
    type:"POST", 
    description: "X3", 
    data:[["line3","solid3"],["color3","red3"]] }
 ];

更新

澄清..(我希望 :-))

<!-- This loops through through the outer array services
and the inner array data -->
<tr ng-repeat="service in services track by $index">
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>{{sd[0]}}</td><td>{{sd[1]}}</td>            
        </tr>
    </table>  
</td>

</tr>
</tbody>

以上将显示第一个服务

line 1, solid1 (first column = line1, second column = solid1)
color1, red1   (first column = color1, second column = red1)

和...(与上面第一个服务中描述的列相同的结构)

line 2, solid2
color2, red2

$scope.services 是一个 对象数组 。每个对象都有一个数据属性,它是一个 数组的数组 [[ 是一个数组,{ 是一个对象。这是一个标准,我希望? Angular 使用它,但似乎是这样:-)

$scope.services.service[index].data 包含一个数组,可能有未知行数,但每行包含一个 key/value 对(例如 line1->solid1)


这是我在 angular 中的第一个应用程序。最终目的是在点击特定的webservice后获取信息

[button 1 = webservice 1] -> show info
[button 2 = webservice 2] -> show info
[button 3 = webservice 2] -> show info

我想了解如何引用数据数组中的不同项,以及如何执行 for 循环似乎是了解它如何与 ng-repeat 一起工作的好方法。我想我从 {{sd[0][0]}}{{sd[0][1]}} 开始就做了类似的事情,但这根本不起作用(因为它然后取 sd[0] 的第一个字符和 sd[0] 的第二个字符)

-- 现在,当我理解这一点时,我可以继续单击(我知道如何在单击按钮时将 $scope 中的值绑定到一个元素,但我遇到了一个数据问题,它是一个数组的数组)。


感谢您的帮助! (如果我写的东西有误,请告诉我。这就是你学习的方式!)

因为 services.data 似乎有一个固定的你可以这样做

<table>
  <tr ng-repeat="sd in services">
   <td>
     ({{sd.data[0][0]}},{{sd.data[0][1]}})
    ({{sd.data[1][0]}},{{sd.data[1][1]}}) 
   </td>
  </tr>
</table> 

我想你可能正在尝试这样的事情:

<tbody>
<tr ng-repeat="service in services track by $index">
<td>
    {{service.name}}
</td>
<td>
    <table>
        <tr ng-repeat="sd in service.data">
        <td>{{sd[0]}}</td>
        <td>{{sd[1]}}</td>
        </tr>
    </table>  
</td>
</tr>
</tbody>