0

我正在尝试在我的页面上的几个元素中使用 ng-repeat。由于某种原因,它显示了 n 个元素中的每一个 n 次,我不知道为什么。我的数组看起来像这样:

$scope.fieldNames = ["Last_Name","First_Name","Email","Home_Phone","Cell_Phone"];

我有一个填充 n^2 次的选择框(我尝试使用 ng-options 但无法使其与数组一起使用):

<td>
<select ng-model="currentField" style="width: 100%">
                        <option ng-repeat="field in fieldNames">{{field}}</option>
                    </select>
<td>

此外,我的表格的标题行也会发生这种情况。但不包含成员行或其中包含的单元格。

<table class = "main-table">
    <thead>
        <tr>
            <th ng-repeat = "field in fieldNames">{{field}}</th>
        </tr>
    </thead>
    <tbody>
        <tr ng-repeat = "member in members" >
            <td ng-repeat = "field in fieldNames">{{member[field]}}</td>
        </tr>
    </tbody>
</table>

如果有人可以向我解释为什么会发生这种情况以及如何解决它,我将不胜感激。ng-options 的工作示例也将不胜感激。

在此先感谢您的时间。

4

2 回答 2

2

要使用 中的字符串列表ng-options,您需要如下所示的理解表达式

<select ng-model="currentField" ng-options="field for field in fieldNames"></select>

DEMO

于 2013-08-21T21:37:17.067 回答
1

所以事实证明,每个项目重复 n 次的原因是我的页面和我使用的布局模板都有

<script type = "text/javascript" src =  https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"> </script>

结果,角度显然加载了两次并在 ng-repeat 上运行 ng-repeat,因此所有其他条目。

于 2013-08-22T13:55:35.673 回答