你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'来访问这些任务。 –