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

different table rows per data in ng-repeat Angular

好的,所以我很难理解 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 数组中,存储了姓名和地址。但我不能每行得到一个公司和地址。有什么想法吗?

您使用两个数组的一个对象构建了一个单元素数组,例如:

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)
  });
});