我有一个使用angularjs的表,我想在其中循环通过一个数组来打印json对象的特定标头。头打印得很好,但当我尝试使用嵌套ng repeat中的一个变量作为json选择器时,问题就来了。如果你用下面的注释部分替换内部的ng repeat,它就会起作用。
表:
<table>
<thead>
<th ng-repeat="column in tableHeader">{{column}} <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>