使用角度资源无法工作的OverWriting URL

问题描述 投票:1回答:1

我正在使用角度资源来从我的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。

angularjs angular-resource
1个回答
1
投票

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的操作声明被忽略,并使用了默认值。

© www.soinside.com 2019 - 2024. All rights reserved.