본문 바로가기
TypeScript/Angular

Angular- Service(1) 개요 및 설명

by le_piee 2020. 5. 18.

 

 

 

컴포넌트와 서비스의 차이점

  • 컴포넌트
    • 뷰(템플릿)와 뷰를 위한 모델에 관련 된 코드
  • 서비스
    • 컴포넌트 혹은 다른 서비스에서 사용하는 재사용 가능한 기능의 집합 혹은 공통된 로직의 집합
    • 컴포넌트에 주입하거나, 모듈에 주입하여 사용

 

Angular Dependenct Injection(의존성 주입)

  • 'A'컴포넌트에서 S라는 서비스를 사용한다 라는 말은
    • A에서 S의 인스턴스를 직접 생성해서 사용하는 것이 아님
    • A에 S를 주입해주면 Angular가 알아서 객체를 만들어서 사용할 수 있도록 맡아서 처리함
      • 1. 컴포넌트에 서비스를 주입
        • A컴퍼넌트와 B컴퍼넌트에게 주입을 하면 각각 다른 객체임
      • 2. 모듈에 서비스를 주입
        • 모듈에 속해있는 모든 컴퍼넌트가 사용가능, 속한 모든 컴퍼넌트가 다 같은 객체를 가짐
  • 이것을 A컴포넌트에 S 서비스를 주입한다 라고 칭함

 

  • 의존성 주입을 해주는 애를 디펜던시 인젝터라고 함
    • 자바는 spring , 여기서는 Angular이 인젝터임
  • 어떻게 인젝트 해줄것인지는 우리가 설정
  • provider를 통해 우리가 설정을 함
  • 설정하는 방식은 같으나 설정하는 위치가 다름
    • 1. 컴포넌트의 메타데이터
    • 2. 모듈의 메타데이터