我试图制作更新功能来替换用户的一些数据。 我创建了工厂:
factory('Details', ['$resource', function ($resource) {
return $resource('/api/client/:id', null, {
'update': { method: 'PUT'}
});
}]);
和控制器:
.controller('ClientDetails', function ($scope, Details, $routeParams) {
$scope.client = Details.query({ id: $routeParams.id });
$scope.editClient = function () {
$scope.client.$update();
}
});
当输入函数editClient()
时,它会抛出并出错:
$scope.client.$update is not a function
我做错了什么?感谢
答案 0 :(得分:2)
默认情况下,query
方法定义为返回实例数组:'query': {method:'GET', isArray:true}
,请参阅ng-resource的文档。并且数组没有$update
方法。从您的代码中,您需要使用get
来获取实例,如下所示:
$scope.client = Details.get({ id: $routeParams.id });
$scope.editClient = function () {
$scope.client.$update();
}