ng-repeat Angular中每个数据的不同表行

时间:2016-04-15 03:18:14

标签: javascript angularjs ng-repeat

好的,所以我很难理解ng-repeat如何构建表格。我想要做的是每行,有客户名称和地址。我无法让它发挥作用。这是我的HTML代码:

<table class="table table-striped" ng-controller="myController">
   <thead>
     <tr>
       <th>Company Name</th>
       <th>Address</th>
     </tr>
   </thead>
   <tbody>
     <tr ng-repeat="company in fieldData" row-id="{{ company.name }}">
       <td>{{ company.name }}</td><td>{{ company.address }}</td>
     </tr>
   </tbody>
 </table>

这是我的剧本:

    var companyName = [];
    var companyAddress = [];

    $scope.fieldData = [];

    $(data).find('record').each(function () {
      companyName.push($(this).record(6));
      companyAddress.push($(this).record(47));
    });

    $scope.fieldData.push({
      name: companyName,
      address: companyAddress
    })

因此,在companyName和companyAddress数组中,存储了名称和地址。但我不能得到一家公司和每行地址。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您构建了一个包含两个数组的对象的单元素数组,如:

fieldData: [
    {
        name: [
            'name1', 'name2', 'etc'
        ],
        address: [
            'addr1', 'addr2', 'etc'
        ]
    }
]

您希望拥有一个包含名称和地址字段的对象数组:

fieldData: [
    {
        name: 'name1',
        address: 'addr1'
    },
    {
        name: 'name2',
        address: 'addr2'
    },
    {
        name: 'etc',
        address: 'etc'
    }
]

要实现这一目标,请使用:

$scope.fieldData = [];

$(data).find('record').each(function (item) {
  $scope.fieldData.push({
    name: item.record(6),
    address: item.record(47)
  });
});