AngularJS-在JSON选择器中使用变量名

AngularJS - Using variable name in JSON selector

本文关键字:变量名 选择器 JSON AngularJS-      更新时间:2023-09-26

我有一个使用angularjs的表,我想在其中循环通过一个数组来打印json对象的特定标头。头打印得很好,但当我尝试使用嵌套ng repeat中的一个变量作为json选择器时,问题就来了。如果你用下面的注释部分替换内部的ng repeat,它就会起作用。

表:

<table>
    <thead>
        <th ng-repeat="column in tableHeader">{{column}}&nbsp;<a ng-click="sort_by(column);"><i class="glyphicon glyphicon-sort"></i></a></th>
    </thead>
    <tbody>
        <tr ng-repeat="data in filtered>
            <td ng-repeat="column2 in tableHeader">{{data.column2}}</td>
<!-- <td>{{data.Environment}}</td>
    <td>{{data.HostIP}}</td>
    <td>{{data.ServiceName}}</td>
    <td>{{data.Status}}</td>
    <td>{{data.StartTime}}</td>
    <td>{{data.Capacity}}</td>
    <td>{{data.Txn}}</td>
    <td>{{data.Errors}}</td>
    <td>{{data.Build}}</td>
    <td>{{data.Project}}</td>
    <td>{{data.Author}}</td>
    <td>{{data.ModifyDate}}</td>
    <td>{{data.Port}}</td>
    <td>{{data.BasePath}}</td> -->
        </tr>
    </tbody>
</table>

位于控制器中的阵列:

$scope.tableHeader = ['Environment', 'HostIP', 'Status', 'ServiceName', 'StartTime', 'Capacity', 'Txn', 'Errors', 'Build', 'Project', 'Author', 'ModifyDate', 'Port', 'BasePath'];

我想您正在寻找{{data[column2]}}。由于column2只是所需属性的字符串值,因此在本例中,将data视为关联数组,以获取要显示的属性。

column2是由ng-repeat创建的,正是您想要的。注{{column2}}:

<td ng-repeat="column2 in tableHeader">{{column2}}</td>