2013-07-09 14 views
1

我試圖訪問一個angular.js內的陣列中的第一項查看這樣的:不能angular.js視圖中訪問數組項

<p class="name-label">{{user_profile.email[0].emailAddress}}</p> 

我的目標是這樣的:

Object { 
.... 
"email": [ 
      { 
       "emailType": "Primary", 
       "emailAddress": "[email protected]" 
      } 
     ], 
.... 
} 

這是行不通的 - 我沒有得到一個錯誤 - 它只是不顯示任何東西! 任何想法?

謝謝!

+1

如果你做簡單的'{{user_profile}}',它會顯示什麼? – Cherniv

+0

謝謝你。我意識到,我的userProfile仍然包裝了一些奇怪的sessionObject,當我在控制檯中調試對象時似乎並不存在。所以我將userProfile對象複製到另一個var中,並在視圖內部使用它,從而消除了sessionObject換行。真奇怪。真的很想明白爲什麼會發生這種情況。但現在工作。 – Dine

回答

0

我將你的代碼複製/粘貼到jsfiddle中,並在刪除僞造的Object和省略號後工作得很好。因此,問題出現在其他地方。

也許對象的結構不像您期望的那樣。嘗試插入:

<div>{{user_profile.email}}</div> 

,並確保輸出的樣子:

[{"emailType":"Primary","emailAddress":"[email protected]"}] 

另一種可能性是,你可能已經把你的<p>標記以外的標記與ng-controller屬性。如果發生這種情況,那麼您將在可能未設置的根作用域中訪問user_profile

如果這些都不起作用,您可能需要編輯您的問題以包含更多的周圍環境,因爲現在沒有足夠的答案給出完整答案。

+0

感謝您的幫助。看到我上面的評論。有一些奇怪的事情發生。 – Dine