2014-06-13 13 views
7

사용자 지정 메서드를 첨부하고 싶은 분리 된 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'); 
}) 

누구나 아이디어가 있습니까?

답변

3

누군가가이 문제를 어떻게 해결했는지 궁금 할 때를 대비해 서비스와 함께 제공되는 맞춤형 메서드는 실제로 Restangular의 마스터 분기에서 지원되지 않습니다. 콜링 서비스는 콜렉션과 이것에 앞서 디폴트로 적용된 커스텀 메소드를 오버라이드 할 뿐이다.

해결 방법 사용자 지정 메서드를 지원하기 위해 toService 함수를 재정의했습니다.

+3

이것을 요청 했습니까? 병합에 유용 할 것입니다 – Howie

+0

안녕 데이비드, github 링크가 더 이상 작동하지 않습니다. 나는 네가 성취 한 것을 필요로한다. 링크를 업데이트 하시겠습니까? – code90

+1

링크가 더 이상 작동하지 않습니다. 여기에 답변을 게시하는 것이 가장 좋습니다. 따라서 항상 외부 링크가 사라질 수 있습니다. –

관련 문제