Angular 2의 서비스 주입: 종합 가이드
구성 요소에 서비스를 주입하는 것은 Angular 2의 기본 작업입니다. 그러나 의문이 생깁니다. : 구성 요소 외부의 다른 서비스에 서비스를 어떻게 주입할 수 있나요? 이를 달성하는 효과적인 방법을 살펴보겠습니다.
서비스에 서비스를 주입하려면 주입할 각 서비스에 @Injectable 데코레이터를 사용해야 합니다. 이 데코레이터를 사용하면 현재 실행 체인의 인젝터에서 해당 유형 인스턴스를 생성하거나 검색할 수 있습니다.
Angular 2 애플리케이션은 각 인젝터가 특정 구성 요소에 연결되는 인젝터의 계층적 트리를 사용합니다. @Injectable 데코레이터가 클래스에 적용되면 Angular 2는 인젝터 트리에서 클래스의 인스턴스를 생성하거나 가져오려고 시도합니다.
다음 애플리케이션 구조를 고려하세요.
에 주입된 서비스 이 시나리오에서 ChildComponent가 초기화되고 Angular 2가 찾습니다. Service1은 ChildComponent 인젝터에, 그 다음에는 AppComponent 인젝터에, 이어서 애플리케이션 인젝터에 있습니다.
마찬가지로 Service1 이 Service2를 삽입하려고 시도합니다. 동일한 인젝터 조회 프로세스가 발생합니다. 따라서 원하는 공유 범위에 따라 애플리케이션의 다양한 수준에 서비스를 주입할 수 있습니다.
애플리케이션 수준에서 공급자가 정의되면 생성된 인스턴스는 모든 구성 요소와 서비스를 포함하여 애플리케이션 전체에서 공유됩니다. 구성 요소 수준에서 공급자를 정의하면 인스턴스가 구성 요소 자체, 해당 하위 구성 요소 및 종속성 체인과 관련된 서비스로 제한됩니다.
이 계층적 주입 메커니즘은 종속성을 구성하고 관리하는 데 유연성을 제공합니다. 보다 포괄적인 이해를 위해서는 계층적 종속성 주입에 대한 Angular 2 문서를 참조하세요.
위 내용은 Angular 2에서 다른 서비스에 서비스를 주입하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!