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

Dav*_*dge 7 angularjs angularjs-service restangular

我有一个解耦的Restangular服务,我想附加一个自定义方法.看来,唯一的方法,在默认情况下收集回来的getList,onepost.我想要做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');
})
Run Code Online (Sandbox Code Playgroud)

有人有主意吗?

小智 3

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

为了解决这个问题,我重写了该toService函数以支持自定义方法。

  • 您为此提出了拉取请求吗?合并起来真的很有用 (3认同)