使用带有对象数组的嵌套ng-repeat角度

时间:2016-11-11 15:35:08

标签: javascript angularjs angularjs-ng-repeat smart-table

以下是我要做的事情:

<tr ng-repeat = "data in tabularData track by $index" >
             <td ng-repeat ="(key,value) in usedAttributes" >{{data[key]}}</td>

        </tr>

当表格数据结构如下时,此DID有效:

[3920F0-3434D3-ADF-3SDF:[{CreatedBy: "John Doe", CreatedDate: "10-20-2016"}]

然而,当我把它弄平时,看起来更像是这样:

[{CreatedBy: "John Doe", CreatedDate: "10-20-2016",PrimaryID:"3920F0-3434D3-ADF-3SDF"}]

这不起作用。我觉得我错过了很明显的东西。

usedAttributes只是一个包含属性(列数据)的简单对象数组。这个想法是用户可以选择他们想要获得的属性,因此数据表非常动态。对于此示例,usedAttributes可能如下所示:

["CreatedBy": [{Checked:false}],"CreatedDate":[{Checked:true}]]

因此,用户希望看到这两个属性,尽管存在更多属性。

1 个答案:

答案 0 :(得分:1)

你可以这样做,

 <div ng-controller="listController">
    <table class="table table-striped">
      <thead>
        <tr>
          <th ng-repeat="(key, value) in tabularData[0]">{{key | uppercase }}
          </th>
        </tr>
        <tbody>
          <tr ng-repeat="val in tabularData">
            <td ng-repeat="cell in val">
              <input type="text" ng-model="cell">
            </td>
          </tr>
        </tbody>
    </table>
  </div>

<强> DEMO