我理解AngularJS中$ resource的概念是返回
我使用的后端不能一次性提供所有必需的信息。
例如:/User/:id
user = User.get({id: userId});
返回用户。大。
如果我需要获得他的朋友的数量,我还有另外一个请求:
/User/:id/count=friend
返回:
{ count: 17 }
我陷入困境,我无法使用user
变量,否则我将失去用户对象。另外,结果将是一个数字,不再代表我的用户。
'脏'方式是返回$http
并将结果分配给user.friendsNumber = data.count
。
但仍然不干净,如果我user.$put()
某事,我会失去我的user.friendsNumber
,因为它会被重新分配。
正确处理此问题的正确方法是什么?
答案 0 :(得分:2)
您可以像这样指定动作,我相信其他参数只会成为常规获取变量。
angoApp.factory('User', function($resource) {
return $resource('/User/:id', {
id: '@id'
}, {
countFriends: {
method: 'GET',
params: {
count: 'friends'
}
}
});
...
User.$countFriends({id:123});
//This should call /User/123?count=friends