【问题标题】:Get key values and create a table header获取键值并创建表头
【发布时间】:2013-12-04 05:40:45
【问题描述】:

我有一个 angularjs 应用程序,它基本上采用 JSON 并创建一个 HTML 表,键在 <thead> 中,值作为表行。

我有一个JSFiddle here,我在其中获取 JSON 并根据值创建表行。但我不知道如何获取键并将它们与作为表头的值对齐。

我的角码:

<tr ng-repeat='row in rows'>
    <td ng-repeat="data in row.data">
       {{data}}
    </td>
</tr>

和:

function TableController($scope){

    $scope.rows = data;

}

【问题讨论】:

    标签: javascript html json angularjs


    【解决方案1】:

    看这里:How can I iterate over the keys, value in ng-repeat in angular

    <tr ng-repeat="(key, value) in data">
        <td> {{key}} </td> <td> {{ value }} </td>
    </tr>
    

    ====EDIT==== 由于您在同一张表中进行所有操作,因此您需要以不同的方式进行操作。当您仍在控制器中时,您需要分隔标头值,以便您有一种干净的方式来迭代您的列表。小提琴在这里:http://jsfiddle.net/L93v5/1/

    您修改后的方式看起来很糟糕,因为有两个不同的表格并且单元格大小不同。这会将所有内容保存在同一张表中,并使事情变得更整洁。

    【讨论】:

    • 感谢您的回答,但我将如何在我的应用程序上下文中使用它?这是我的尝试 (jsfiddle.net/Lesbz),但它似乎不起作用。
    • 你说得对……我在发帖之前并没有完全考虑清楚。这个小提琴是不是更像你想的那样? jsfiddle.net/Lesbz/1... JSON 的格式总是一样的吗?或者更确切地说,是一张桌子还是几张桌子?如果它只是一个,那么在控制器中,您需要提取表头值,将它们放入范围,然后 ng-repeat 覆盖您之前的那些 ng-repeat 覆盖您的数据。如果它是多个表,那么那个小提琴应该可以工作(虽然我不知道如何摆脱那个冗余循环。已经晚了:))
    • 我想通了 (jsfiddle.net/L93v5),但感谢您的所有帮助。我会接受你的。
    • 看看我编辑的答案。现在最好我知道你想把它放在同一张桌子上。
    猜你喜欢
    • 2016-02-24
    • 2016-07-25
    • 2017-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多