gpt4 book ai didi

javascript - 如何创建一个根据参数使用 $resource 返回数据的服务

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:50:07 24 4
gpt4 key购买 nike

我想创建一个根据参数调用后端的服务。此代码不起作用,但我希望它能显示我想要实现的目标:

myproject.factory('Item', function($resource) {
if (@id !== undefined)
return $resource('/resource/item/:id/item.json', {id: '@id'});
else if (@userid !== undefined)
return $resource('/resource/user/:userid/items.json', {userid: '@userid'});
});

基本上,第一个选项仅通过其 ID 返回一个项目,第二个选项通过用户 ID 返回多个项目。

然后我希望能够像这样调用该服务:

$scope.item = Item.get({id: id}, function() {...}

$scope.items = Item.query({userid: userid}, function() {...}

实现类似目标的最佳方法是什么?我是否需要为所有内容创建单独的服务?

谢谢!

最佳答案

您可以使用自定义 actions 参数覆盖默认 URL:see $resource docs

我的意思是这样的:

$resource('/resource/item/:id/item.json', {}, {
query: {
url: '/resource/user/:userid/items.json',
method: 'GET',
isArray: true
}
});

现在 .get() 和其他请求将使用默认 URL,而 .query() 应该使用自定义 URL。

请注意,url 属性是 Angular 1.2(现在是稳定版)中的新属性。

关于javascript - 如何创建一个根据参数使用 $resource 返回数据的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15922225/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com