2013-09-26 2 views
0

특정 모듈의 각도 js에서 서비스를 프로그래밍 방식으로 해결하려고하지만이를 수행하는 올바른 방법을 찾을 수 없습니다.서비스를 프로그래밍 방식으로 해결하기 AngularJs

나는 angle.injector ([ 'NameOfModule'])를 사용하여 알고있다. get ('NameOfService') 서비스를 검색 할 수있다. 그러나 angular.injector를 사용하면 지정된 모듈의 인젝터를 검색하지 않고 대신 새로운 인젝터를 만듭니다. 즉, 서비스를 검색 할 때 새로운 인젝터이므로 캐시 된 서비스가 없으므로 새 서비스를 만듭니다. 즉, 동일한 서비스가 여러 개있을 것이므로 더 이상 싱글 톤이 아니 어서 분명히 문제가 발생할 것입니다.

기본적으로 인젝터에서 (캐싱되거나 캐시되지 않은) 서비스를 검색 할 수 있도록 특정 모듈에서 인젝터를 검색합니다. 아무도 이것을 달성하는 방법을 알고 있습니까?

답변

1

$ injector 서비스를 사용하고자하는 컨트롤러 \ service에 $ injector 서비스를 삽입하는 것이 좋습니다. 이것은 응용 프로그램이 사용하는 인젝터를 반환하고 angular.injector처럼 새로운 인젝터를 생성하지 않습니다. 이 게시물에 대한 자세한 설명을 보려면 Can't retrieve the injector from angular

관련 문제