2016-06-21 60 views
6

假設我有一個這樣的JSON: { "data": { "data": { "data": { "set": "1" } } } } ng-repeat支持遞歸嗎?

我想通過這個JSON使用NG-重複循環,但是我想遍歷它動態的,我不知道有多少數據對象我都會有,有時可能是3,有時可能是5,6,7等。

如何通過ng-repeat循環遍歷數據,而無需像有數據對象那樣多次重複寫入ng-repeat。

在javascript中我只是寫這樣的事: function loop(data) { if (data.data) { loop(data.data) } }

回答

6

使用您將使用從調用它同樣功能的NG-重複

<ul> 
    <li ng-repeat="v in array"> 
     {{getValue(v)}} 
    </li> 
    </ul> 

,並在像這樣的控制器功能:

$scope.getValue = function(item){ 
    if(item.data){ 
    return $scope.getValue(item.data); 
    }else{ 
    return item.set; 
    } 
}; 

這裏是工作示例的鏈接http://codepen.io/mkl/pen/dXOOVo

+1

謝謝@邁克爾,這很好! 另外一個問題,雖然,如果我有這個JSON結構: ' { 「數據」:{ 「數據」:{ 「數據」:{ 「設置」: 「1」 }, 「組「:4 }, 」組「:3 }, 」設置「: 」2「 } ' 如何可以處理所有從上面的例子中的集? – mmmtoasted

+0

以下是更新後的json結構示例,修改標記以包含嵌套的ng-repeat和getValue函數的更改。 http://www.codepen.io/mkl/pen/ZOBxNW – Michael

+0

謝謝,我的工作與你的建議 – mmmtoasted