2017-09-05 4 views
1

빠르고 간단한 질문이지만 interwebs를 검색하는 데 문제가 있습니다.각도로 서비스 인스턴스에 액세스하지 못하도록

내 앱에서 Angular 4.x를 사용하고 있으며 내 싱글 톤 서비스를 유지하는 핵심 모듈을 가지고 있습니다. 또한 제 3 자 SDK를 랩핑하는 일부 서비스가 있는데 그 서비스를 액세스 할 수 없도록하고 싶지 않습니다. 내 기능 모듈. 그러나 핵심 모듈 외부의 구성 요소와 서비스에 이러한 서비스를 사용할 수있게하기 위해 이러한 서비스를 사용해야하기 때문에.

코어 모듈 내에서이 서비스를 어떻게 비공개로 유지할 수 있습니까?

+0

이것은 Angular가 te 모듈 수준 [Angular 단위의 일반적인 혼동 방지] (https://blog.angularindepth.com/avoiding-common-confusionions-with-modules-in-angular- ada070e6891f). 질문이 있다면 답을 물어 볼 수 있습니다. –

답변

1

액세스를 제한하는 유일한 방법은 범위를 정의하는 것입니다.
범위는 서비스가 제공되는 위치에 따라 다릅니다.
서비스가 구성 요소 나 지시문에 제공되는 경우 구성 요소 만 하위 구성 요소 나 하위 구성 요소 만 삽입 할 수 있습니다.

서비스가 모듈에 제공되면 전역 적으로 사용할 수있게됩니다.

게으른로드 모듈에 서비스가 제공되는 경우이 모듈과이 지연로드 모듈과 함께로드 된 모듈 만 서비스를 주입 할 수 있습니다.

서비스를 삽입 할 수있는 위치를 제한 할 수있는 다른 방법은 없습니다.

+1

답장을 보내 주셔서 감사합니다. 이미 알고 있었지만 잘 모르는 속임수가 있었으면합니다. 나는 그것이 그 것처럼 붙어있는 것 같아요. – JBeckton

관련 문제