我想删除id选择的对象,但是当我按“删除”时,所有对象都被删除。
如果我指定Inventory.drop({id: 2}
它有效,但使用Inventory.drop({id: '@id'})
则不然。为什么呢?
$scope.deleteInv = function () {
Inventory.drop();
};
我的模板:
<td><a href="" ng-click="deleteInv()">X</a></td>
这是我的工厂:
app.factory('Inventory', function($resource, $http) {
return $resource('http://someweb.com/api/v1/inventory/:id', {id: '@id'},
{
update: {
method: 'POST',
params: {id: '@id'},
isArray: false
},
save: {
method: 'PUT'
},
query: {
method: 'GET',
params: {id: '@id'},
isArray: false
},
create: {
method: 'POST'
},
drop: {
method: 'DELETE',
params: {id: '@id'}
}
}
);
});
答案 0 :(得分:0)
因为你的@id未定义。
您为此分配值?我想你不会。
所以你需要改变那个
params: {id: $scope.YourId}
您需要传递$sope.YourId
您还需要在工厂$sope
app.factory('Inventory', function($resource, $http,**$scope**) {