假设我有一个 todo 应用程序并单击任何单个 Todo 上的复选框将其标记为完成并执行 PUT 操作。
然后有一个复选框来“标记所有完成”或“标记所有不完整”。这应该将每个待办事项标记为已完成/未完成,无论其个人状态如何。
使用时angular-resource
,更新所有项目的最佳实践方式是什么。是否可以在一个批量请求中完成并更新所有项目?或者我最好单独更新每一个?
假设我有一个 todo 应用程序并单击任何单个 Todo 上的复选框将其标记为完成并执行 PUT 操作。
然后有一个复选框来“标记所有完成”或“标记所有不完整”。这应该将每个待办事项标记为已完成/未完成,无论其个人状态如何。
使用时angular-resource
,更新所有项目的最佳实践方式是什么。是否可以在一个批量请求中完成并更新所有项目?或者我最好单独更新每一个?
您可以通过提供自定义操作来扩展您的 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);
剩下要做的唯一一件事(可以说是最难的事情)就是编写后端代码以接受 POST 到 'api/todo' 并将所有引用的 todo 标记为已完成。