我有一个解耦的Restangular服务,我想附加一个自定义方法。默认情况下,集合上返回的唯一方法似乎是getList
,one
和post
。我想做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');
})
有人有什么想法吗?
答案 0 :(得分:3)
万一有人想知道我是如何解决这个问题的 - 在Restangular的主分支中实际上不支持自定义方法和服务。调用服务将覆盖集合以及之前应用的任何自定义方法,并使用默认值。
要解决此问题,我已覆盖toService
功能以支持自定义方法。