你GET api/list/
要求,你可能回這樣的事:
[
{
"id": 1,
"name": "List #1",
"tasks": [
{
"id": 1,
"name": "Task #1 on List #1"
},
{
"id": 2,
"name": "Task #2 on List #1"
},
{
"id": 3,
"name": "Task #3 on List #1"
}
]
},
{
"id": 2,
"name": "List #2",
"tasks": [
{
"id": 1,
"name": "Task #1 on List #2"
},
{
"id": 2,
"name": "Task #2 on List #2"
},
{
"id": 3,
"name": "Task #3 on List #2"
}
]
}
]
這是假設你總是希望在api/list/
命令返回相關的任務。
然後,您只需在每次要刷新所有列表和所有任務時調用一次。
您應該有一個綁定到視圖的控制器,其中調用了$ http.get。它應該設置$scope.lists = data
成功。
在你看來,你只需要兩個嵌套的ng-repeat
標籤。例如,你可以使用無序列表:
<div ng-controller="ListsController">
<ul>
<li ng-repeat="list in lists">
<ul>
<li ng-repeat="task in list.tasks">
</li>
</ul>
</li>
</ul>
</div>
我沒有使用過,但角度我敢肯定,這是所有你需要做的。單個AJAX調用將爲每個列表填充<li>
元素,併爲屬於該列表的每個任務嵌套<li>
元素。
Is Lists->任務一對多關係?這意味着每個任務必須有一個列表,並且只能有一個列表作爲它的父對象。 –
是的,這是一對多的關係 – tcrafton
'$ scope.tasks'應該是指所有的任務,還是隻涉及與當前(選定)列表關聯的所有任務?另外,你很可能不應該多次調用'api/list /'。如果它是一對多關係,那麼您應該能夠返回一個JSON數組,每個列表的Tasks屬性都是子任務的嵌套JSON數組。然後你可以用'$ scope.lists.tasks'來訪問這些任務。 –