在html表中重复数据

时间:2018-01-02 08:45:10

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

我在data-ng-repeat中与AngularJS争吵有点复杂(对于像我这样的初学者)表。

我的数据是:

  $scope.test = [
       {store: "NYC store",
        comment: "comment1",
        prices: {
            "product1": "12",
            "product2": "10",
            "product3": "71"}
        },
       {store: "Texas store,
        comment: "comment2",
        prices: {
            "product1": "15",
            "product2": "9",
            "product3": "68"}
        },
      ]; 

表格应该类似于:

enter image description here

我尝试过的事情:

<table style=" border-collapse: collapse;" border="1">
    <tr>
        <th data-ng-repeat="data in test">{{ data.store }}</th>
    </tr>
    <tr data-ng-repeat="(key, val) in test[0].prices">
        <td>{{ val }}</td>
        <td>{{ key }}</td>
    </tr>
    <tr>
        <td data-ng-repeat="data in test">{{ data.comment }}</td>
    </tr>
</table>

但问题在于我不知道如何在这里重复所有地图,因为现在我所能做的只是重复test[0].prices而不是所有数组元素(i / e /所有地图)。

1 个答案:

答案 0 :(得分:4)

这里的问题实际上并不是一个Angular问题,而是如何将数据从数组循环到一个没有相同方式形成的表的问题。

产品也不是数组,而是对象的属性列表。

  <table style=" border-collapse: collapse;" border="1">
    <tr>
        <th></th>
        <th data-ng-repeat="data in test">{{ data.store }}</th>
    </tr>
    <tr data-ng-repeat="(key, val) in test[0].prices">
        <td>{{ key }}</td>
        <td data-ng-repeat="data in test">{{data.prices[key]}}</td>
    </tr>
    <tr>
        <td></td>
        <td data-ng-repeat="data in test">{{ data.comment }}</td>
    </tr>
</table>

也是https://docs.angularjs.org/api/ng/directive/ngRepeat

示例:http://jsbin.com/kedezup/3/edit?html,js,output