2016-05-06 169 views
0

目前,我正在學習angularjs 1.5.0 我正在做一個小樣本具有複雜JSON對象,像這樣:NG重複遞歸屬性對象

{ 
"Families":[ 
    { 
     "Name": "A", 
     "Age": 1, 
     "Children": [ 
      { 
       "Name": "B", 
       "Age": 2, 
       "Children":[ 
        { 
         "Name": "C", 
         "Age": 3 
        }, 
        { 
         "Name": "D", 
         "Age": 4 
        } 
       ] 
      } 
     ] 
    }, 
    { 
     "Name": "X", 
     "Age": 5, 
     "Children":[ 
      { 
       "Name": "Y", 
       "Age": 2 
      }, 
      { 
       "Name": "Z", 
       "Age": 4 
      } 
     ] 
    } 
] 

}

正如你看,家庭包含很多成員,每個成員都有姓名,年齡和孩子。我想列出這個家族樹,但有一件事對我來說很難:我不知道一個成員有多少個孩子,因此我不知道如何使用ng-repeat將它們列出。

任何人都可以幫助我嗎? 非常感謝,

+2

的http://賓·科士打。 io/blog/angularjs-recursive-templates –

+0

這裏從Jordan.JD的例子中修改一個小提琴來顯示另一層類別以及它如何遞歸添加它:[http://jsfiddle.net/Lgosoxks/](http://jsfiddle.net/Lgosoxks/) – dylpickle

回答

6

對於顯示遞歸json數據數組,請在視圖中使用遞歸模板。鑑於這樣的 創建像下面

<script type="text/ng-template" id="familyTree"> 
     {{ family .name}} 
    <ul ng-if="family.children"> 
     <li ng-repeat="family in family.children" ng-include="'familyTree'">   
     </li> 
    </ul> 
    </script> 

和使用NG重複模板渲染視圖

<ul> 
    <li ng-repeat="family in families" ng-include="'familyTree'"></li> 
    </ul> 

樣品fiddle

details

+1

非常感謝:D – Redplane