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

Chr*_*ker 8 angularjs angular-resource

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

然后有一个"标记全部完成"或"标记全部不完整"的复选框.这应该标记每个todo已完成/不完整,无论其个人状态如何.

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

ale*_*pls 4

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

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

然后在你的控制器中执行以下操作:

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

剩下要做的唯一一件事(可以说是最难的事情)就是编写后端代码以接受“api/todo”的 POST 并将所有引用的待办事项标记为已完成。