首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngResource保存()奇怪行为

ngResource保存()奇怪行为
EN

Stack Overflow用户
提问于 2015-06-29 11:44:51
回答 1查看 65关注 0票数 0

谁能帮我弄清楚这件事吗?

代码语言:javascript
复制
var discountResource = $resource(GLOBALS.apiPath + 'discounts/:id');
var discountResponse = discountResource.save($scope.discountForm);

这将导致到达/discounts

然而,这会导致发布到/discounts (预期行为)

代码语言:javascript
复制
var discountResource = $resource(GLOBALS.apiPath + 'discounts');
var discountResponse = discountResource.save($scope.discountForm);

我对此非常执着,因为我想使用第一个选项,声明占位符。但为了我的生命,我无法让它起作用。

我想要选项1的原因是为了能够在工厂中删除它,并将资源注入到控制器中。基本上,我不想每次需要API交互时都重新声明它。我希望这是有意义的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-29 12:01:04

试试像这样的东西

代码语言:javascript
复制
 Module.factory("Discount", ["$resource", function ($resource) { return $resource(GLOBALS.apiPath + "discounts/:Id", { Id: "@Id" }, {
            somthingCustomIfNeeded: { method: 'POST', url: GLOBALS.apiPath + "something-custom" }
        }); }]);

注意到{ Id: "@Id" }对象了吗?它告诉角如何解析:Id变量。

引用文件

如果参数值以@为前缀,则该参数的值将从数据对象上的相应属性中提取(在调用操作方法时提供)。例如,如果defaultParam对象是{ someParam:'@someProp'},那么someParam的值将是data.someProp

更多细节请参见https://docs.angularjs.org/api/ngResource/service/$resource (搜索"paramDefaults")

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31114860

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档