如何将自定义方法添加到restangular服务?

时间:2014-06-13 18:45:33

标签: angularjs angularjs-service restangular

我有一个解耦的Restangular服务,我想附加一个自定义方法。默认情况下,集合上返回的唯一方法似乎是getListonepost。我想做Locations.getLongLat()

我尝试将以下内容添加到我的服务中但没有运气(该方法未绑定到该对象),我只是回复了undefined is not an object

angular.module('myApp')
.factory('Locations', function (Restangular) {

    return Restangular.withConfig(function (RestangularConfigurer) {
        RestangularConfigurer.addElementTransformer('api/v1/locations', true, function (location) {
            location.addRestangularMethod('getLongLat', 'get', 'longlat');
            return location;
        });
    }).service('api/v1/locations');
})

有人有什么想法吗?

1 个答案:

答案 0 :(得分:3)

万一有人想知道我是如何解决这个问题的 - 在Restangular的主分支中实际上不支持自定义方法和服务。调用服务将覆盖集合以及之前应用的任何自定义方法,并使用默认值。

要解决此问题,我已覆盖toService功能以支持自定义方法。