我已经查看了有关更新方法使用的各种问题的各种教程和答案,但到目前为止,我发现的实际上并不适用于我。
我的服务如下:
angular.module("testApp").service("PersonData", function($resource) {
return $resource("api/persons/:id", {
id: "@_id"
}, {
update: {
method: "PUT"
}
});
});
我在控制器中尝试了各种各样的事情,例如:
PersonData.get({id:id})
.$promise.then(function(result) {
result.name = "new";
result.$update();
});
和
var x = new PersonData({id: id});
x.name = "new";
x.update();
每次收到update is not a function
的错误。我该如何解决这个问题?
答案 0 :(得分:0)
我没有尝试下面的示例代码,但一个明显的问题是您需要依赖注入$ resource作为服务的参数[' $ resource']
<强>尝试强>:
angular.module("testApp").service("PersonData", ['$resource', function($resource) {
return $resource("api/persons/:id", {
id: "@_id"
}, {
update: {
url: 'url for update path', //an option
method: "PUT",
params: {
id: "@_id"
}
}
});
}]);
然后:在控制器中调用PersonData服务:
var invoked = PersonData.update({
id:: myID
})
.$promise.then(function(data) {
// do something with a callback here if needed.
// (Like an alert or another update, etc.)
});