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

时间:2015-04-09 00:16:48

标签: javascript jquery json angularjs

我有一个使用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'];

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找{{data[column2]}}。由于column2只是所需属性的字符串值,因此在这种情况下将data视为关联数组,以获取您尝试显示的属性。

答案 1 :(得分:0)

column2ng-repeat创建,是您想要的。注意{{column2}}

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