仅列出对象数组的一个属性

时间:2017-11-28 09:21:44

标签: javascript angularjs

我想要一个Angular列表,​​显示来自对象数组的一个对象属性的所有实例,仅此而已 - 例如,只有国家。

$scope.testSites = [
                { "site": "Testsite1", "country": "Country1", "customer": "Customer1"},
                { "site": "Testsite2", "country": "Country2", "customer": "Customer2"}
            ];
$scope.chosenCategory = 1;
$scope.categoryNames = ["site", "country", "customer"];
$scope.aspect = $scope.categoryNames[$scope.chosenCategory];

但是,我想使用上面的变量'方面'用于选择要在列表中显示的属性。像{{x.country}}之类的东西虽然有效但却不够。我试过这个,但它返回一个空列表:

<table border="1" class="list-group-item list-group-item-success">
            <tr>
                <th>{{aspect | capitalize}}</th> 
            </tr>

            <tr ng-repeat="x in testSites | orderBy:myOrderBy">
                <td>
                    {{x.aspect}}
                </td>

            </tr>
        </table>

我能做些什么吗?

1 个答案:

答案 0 :(得分:6)

您可以通过{{ x[aspect] }} - []括号表示法进行操作。它评估expressoin并使用结果来查找属性。

您可以找到Demo here