2013-03-30 2 views
4

축소 및 난독 화를 위해 $ injector (controllerName.$inject = ['$service', '$service2'])를 사용하여 필요한 실제 서비스 이름을 지정해야합니다.

다른 서비스에 의존하는 맞춤 서비스를 작성하는 경우에도 동일한 작업을 수행 할 수 있습니까? . $ inject 메서드를 사용하여 찾을 수있는 유일한 예는 컨트롤러에서 호출됩니다.

나는이를 추가해야 내가

myModule.factory('myService', function($rootScope, anotherService) { 
    return { 
    foo: 'bar' 
    }); 

을하고 있는가하면?

myService.$inject = ['$rootScope', 'anotherService'];

또는 아마도 그것은 다음 전체 모듈에 적용된?

myModule.$inject = ['$rootScope', 'anotherService'];

...하지만 어쩌면 그 경우, 모듈은 이미 자사의 서비스의 트랙을 유지하고, 따라서 축소를이 문제가 아닌가요?

답변

4

dependency injection guide 섹션 인라인 주석을 확인하십시오.

다음은 유효한 구문이며, 축소를위한 안전 :

myModule.factory('myService', ['$rootScope', 'anotherService', 
     function($rootScope, anotherService) { 

     .... 
}]); 
+0

..There이입니다! 나는 그 페이지를 일찍 완전히 읽은 다음, 적어도 두 번이나 빠져 나왔다. 단순히 그 부분을 놓쳤다. 정말 고맙습니다! – Offlein

관련 문제