Transient
Transient 서비스는 주입될 때마다 생성됩니다. 즉, 컴포넌트(component)가 서비스를 주입할 때마다 서비스의 새 인스턴스가 생성됩니다. Transient 서비스의 예는 다음과 같습니다.
1 | import { Injectable } from '@angular/core'; |
컴포넌트가 TransientService
를 주입하면 매번 서비스의 새 인스턴스가 생성됩니다.
Scoped
Scoped 서비스는 Angular 모듈당 한 번 생성됩니다. 이는 동일한 모듈 내의 컴포넌트(component)가 서비스를 주입할 때마다 동일한 서비스 인스턴스가 사용됨을 의미합니다. Scoped 서비스의 예는 다음과 같습니다.
1 | import { Injectable } from '@angular/core'; |
동일한 모듈 내의 컴포넌트가 ScopedService
를 주입하면 동일한 서비스 인스턴스가 사용됩니다.
Singleton
Singleton 서비스는 한 번 생성되고 동일한 인스턴스가 애플리케이션 전체에서 사용됩니다. 다음은 Singleton 서비스의 예입니다.
1 | import { Injectable } from '@angular/core'; |
컴포넌트가 SingletonService
를 주입하면 애플리케이션 전체에서 동일한 서비스 인스턴스가 사용됩니다.