angularjs - 使用角度资源覆盖 URL 不起作用
问题描述
我正在使用角度资源从我的 AP 中检索记录。
以下是我的相关控制器信息。
$scope.formInformation = formService.get({id:$state.params.form_id });
以下是我的服务
(function(){
"use strict";
angular
.module("mainAppModule")
.factory("formService", formService);
function formService($resource)
{
return $resource(apiLink + 'form/:id',
//{id: '@_id'}, //this breaks it
{
'query' : {
method: 'GET',
isArray: true,
}
},
{
'get' : {
method: 'GET',
url: apiLink + 'form/individualForm/:id',
}
}
);
}
})();
当我尝试覆盖 url 变量时,它仍然使用原来的变量。
"apiLink +"form/:id"
与
apiLink + 'form/individualForm/:id',
这应该被以下行覆盖。
url: apiLink + 'form/individualForm/:id',
但是当我删除时。
{id:'@id'},
我的网址被覆盖。
我试图理解为什么会这样。
我正在使用角度和角度资源版本 1.7.7。
解决方案
actions
参数格式错误:
function formService($resource)
{
return $resource(apiLink + 'form/:id',
//{id: '@_id'}, //this breaks it
{
'query' : {
method: 'GET',
isArray: true,
}
̶ ̶}̶,̶
̶{̶
'get' : {
method: 'GET',
url: apiLink + 'form/individualForm/:id',
}
}
);
}
该actions
参数应该是所有资源操作的哈希。当操作分布在两个对象上时,只有第一个对象会覆盖默认值。的动作声明get
被忽略并使用默认值。