본문 바로가기
TypeScript/Angular

Angular - service(4) 그 외 여러가지 주입방식

by le_piee 2020. 5. 18.
  1. 그냥 클래스
  2. useValue
  3. useClass
  4. useExisting
  5. useFactory

이렇게 총 5가지의 주입 방법이 더 있다.

 

우리가 지금까지 한 것은 1번에 속한다.

 

 

 

useClass, useValue

app.module
component

이 두개는 사용법이 되게 간단하다. 그냥 보이는 그대로이다.

 

딱히 설명이 필요 없다고 판단되어 그냥 넘어가도록 한다.

 

 

 

 

 

use FactoryService

 

about이라는 서비스를 하나 더 생성한 뒤 이렇게 작성한다.

 

팩토리는 서비스 안에 인자를 넣어서 다른인자를 호출 할 수 있다.

 

 

about.service

서비스에서 이렇게 인자 값을 설정하면 빨간 밑줄이 사라질 것이다.

 

또 재밌는 점은 특정 값을 지정 할 수 있다.

 

 

 

app.module
FactoryService

AboutService에 Logservice라는 값과 false라는 값을 넣는데

그 값은 deps를 통해 LogService에서 가져오라는 말이다

 

 

이렇게 수정을 한 뒤 팩토리 사용법은 아래와 같다.

@inject('factory') private factoryService

 

ng serve를 통해 실행 시켜보면 

 

콘솔도 잘 찍힌다

 

 

 

 

마지막으로 useExisting은 useClass를 use Existing으로 바꿔주면 된다.

기능은 인젝트로 들어갈 수 있게 해주는 것이다. 별거 없다.

'TypeScript > Angular' 카테고리의 다른 글

Angular - Directive  (0) 2020.05.19
Angular - httpModule  (0) 2020.05.18
Angular - service(3) Module Provider  (0) 2020.05.18
Angular- service(2) - component providers  (0) 2020.05.18
Angular- Service(1) 개요 및 설명  (0) 2020.05.18