2016-03-08 218 views
0

當ng-repeat在一個數組中並且該數組位於另一個對象數組中的對象內部時,重複對象的屬性時遇到問題,如下所示:對象數組內部的對象ng-repeat數組

$scope.myJson = [{'id':1,'date':2,'nikola':[{'title':'a', 'name':'b'},{'title':'v', 'name':'b'},{'title':'d', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]}, 
{'id':1,'date':2,'nikola':[{'title':'r', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]}, 
{'id':1,'date':2,'nikola':[{'title':'z', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'},{'title':'a', 'name':'b'}]}]; 


<div ng-repeat='json in myJson'> 
    <p>{{json.id}}</p> 
    <p>{{json.date}}</p> 
    <p>{{json.nikola.title}}</p> 
</div> 

json.nikola.title沒有在每個nikola數組中顯示每個標題。 感謝您的幫助。

+0

你嘗試過什麼?你必須顯示你期望的結果。 HTML應該呈現給什麼? –

+0

我其實做到了,但顯然我沒有以正確的方式發佈代碼。重點是我有那個JSON,我需要ng-repeat'nikola'內的屬性,我對結果做什麼並不重要。 – Uros

+0

你應該接受下面的@BjørnSørensen的答案,這是正確的解釋。 – Suicideboy

回答

2

您沒有得到輸出的原因是您嘗試將數組輸出爲單個值。如果你想要數組中的每個值,你也可以使用ng-repeat

使用ng-repeat時,您將遍歷數組。作爲你的第一個目標是用ID來迭代主陣列,這是通過

<div ng-repeat="item in myJson"></div> 

你明白了。進一步你想遍歷每個項目上的數組。和以前一樣:

<div ng-repeat="subitem in item.nikola"></div> 

你有它。

<div ng-repeat="item in myJson"> 
    <div ng-repeat="subitem in item.nikola"> 
    </div> 
</div> 

然後,您可以在每個中繼器上訪問您喜歡的屬性。

請參閱this plunker for a running example對您的數據。

0

添加另一個ng-repeat迭代的nikola對象

<div ng-repeat='json in myJson'> 
    <p>{{json.id}}</p> 
    <p>{{json.date}}</p> 
    <div ng-repeat='item in json.nikola'> 
     <p>{{item.title}}</p> 
    </div> 
</div>` 
+0

在寫這些之前你還嘗試過嗎?您必須訪問'json'的'id'和'date'屬性以及'item'的屬性'title'才能使其工作。 – Suicideboy

+0

@Tomisol我寫得最快,我可以......;) –