'use strict';
app.controller("derpCont", function ($scope, derptod) {
$scope.derp = derptod.query();
$scope.deptod = function() {
derptod.update()
};
});
当我点击按钮时,我可以看到尝试更新某些内容的东西,但是我收到404错误消息,如果我在方法中传递变量,我会得到500个错误。如何在UserTodos.update()中编写方法。所以我只会将{{todo.completed}}从true更新为false,反之亦然使用ngresoruce
这是我的服务
app.factory('derptod', function($resource) {
var cray = $resource('jpholder/tod', {
update: {
method: 'PUT'
}
});
return cray;
});
答案 0 :(得分:0)
如果我能正确理解您的问题,您可以更新您的待办事项模型。
$scope.UpdateTodo = function(index) {
UserTodos.update();
$scope.todo[index].completed = $scope.todo[index].completed === 'COMPLETED' ? 'INCOMPLETE' : 'COMPLETED';
};
在您的HTML中:
<td> <button type="button" ng-click="UpdateTodo($index)" class="btn btn-info">Update</button> </td>
答案 1 :(得分:0)
首先,您的服务需要使用您尝试调用的“更新”属性返回一个对象...
app.factory('UserTodos', function($resource) {
var update = function (todos, index, value) {
// Do Something
todos[index].completed = value;
}
return {
Update:update
};
});
其次,如果要修改待办事项,可以在控制器或服务中进行修改。无论哪种方式,我都会将todo的索引传递给控制器方法以及像这样的值。
<button type="button" ng-click="UpdateTodo($index, true)"
class="btn btn-info">Update</button>
最后在控制器中,您可以进行操作或将所有内容传递给服务。
$scope.UpdateTodo = function(index, value) {
// Use the service
UserTodos.Update($scope.todos, index, value);
// Or what I would do in a hurry
$scope.todos[index].completed = value;
};