2013-08-21 36 views
0

我試圖在頁面上的幾個元素中使用ng-repeat。 出於某種原因,它顯示了n次元素中的每一次,我找不到原因。 我的陣列看起來是這樣的:Angularjs ng-repeat顯示n次n項

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

我有一個填充N^2次(我一直在使用NG選項嘗試,但不能讓它與陣列工作)選擇框:

<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的一個工作示例也將被讚賞。

提前感謝您的時間。

+0

你能提供一個屏幕截圖嗎?或者最好是http://plnkr.co/上的工作示例? – MJD

回答

1

因此,原來,之所以每個項目進行重複ñ次是我的頁面和我使用的佈局模板都有

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

因此,angular顯然會加載兩次,然後在ng-repeat上運行ng-repeat,因此會添加所有其他條目。

2

ng-options與字符串列表工作,你需要理解的表達看起來像這樣

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

DEMO

+0

謝謝,這適用於問題的ng選項部分。有關n^2項目的詳細信息,請參閱我的回答。 – DocSmiley

+0

@DocSmiley我爲你創建了一個演示,但是我沒有看到這個問題。請檢查。 – zsong

+0

對不起。我不清楚。這固定了選擇框重複問題。重複的和​​來自我在回答中提到的另一個問題。感謝您的時間。 – DocSmiley