角度资源可以进行大量的休息操作吗?

时间:2013-06-18 21:35:48

标签: angularjs angular-resource

假设我有一个待办事项应用程序并单击任何单个Todo上的复选框将其标记为完成并执行PUT操作。

然后有一个复选框''标记所有完整'或'标记所有不完整'。这应该标记每个todo已完成/不完整,无论其个人状态如何。

使用angular-resource时,更新所有项目的最佳做法是什么。是否可以在单个批量请求中执行此操作并更新所有项目?或者我会更好地单独更新每一个?

1 个答案:

答案 0 :(得分:4)

您可以通过提供自定义操作来扩展Angular资源,例如:

var Todo = $resource('api/todo/:todo_id', {todo_id: '@id'}, {
  markAllComplete: { method: 'POST', params: { complete: true }, isArray: true }
}

然后在你的控制器中执行:

// Assuming your todos have been fetched and are stored
// in the $scope.todos variable...
Todo.markAllComplete($scope.todos);

要做的唯一事情(也可能是最困难的事情)就是将你的后端编码为接受'api / todo'的POST并将所有引用的待办事项标记为已完成。