2016-08-03 1 views
0

내 service.js 안에 필자는 함수를 호출해야하는 필터를 포함 시켰습니다. 그러나이 함수는 내 필터 선언 바로 아래에 선언됩니다 (여전히 내 service.js 내에 있음). 내 function InquiryService 내부Angularjs : 내 필터 내 서비스에서 메서드 호출

angular 
.module('app.inquiry') 
.factory('InquiryService', InquiryService) 
.filter("getCode", function(){ 
    return function(item) { 
     searchProduct(item.name).then(function(result) { 
     item.reference.local = result; 
     return item.reference.local; 
     }) 
    } 
}); 

searchProduct라는 이름의 또 다른 기능, 내 필터 내부에서 사용하는 기능입니다 : 다음은 내 필터의 조각이다. 그러나,이 doesnt 일. 필터에서 내 서비스의 메서드를 호출 할 수 있습니까? 그렇다면 어떻게 호출 할 수있는 메서드를 참조 할 수 있습니까? 감사합니다.

답변

0

필터 내 서비스에서 메서드를 호출 할 수 있습니까?

예, 그렇습니다. 당신은 아래, 필터 내부 당신의 factory를 삽입해야합니다

.filter("getCode", function(InquiryService) { 

그런 다음,이처럼 factory에서 메소드를 호출 할 수

.filter("getCode", function(InquiryService) { 
    return function(item) { 
     InquiryService.searchProduct(item.name).then(function(result) { 
     item.reference.local = result; 
     return item.reference.local; 
     }) 
    } 
}); 
+0

쿨! 그것은 나를 위해 일했습니다. 엄청 고마워! – Erbeyn

+0

편집 : 내가 실제로 포함 된 것은 '.filter ("getCode", [InquiryService ', function (InquiryService) {' 그리고 잘 작동합니다. – Erbeyn

관련 문제