반응형

providers의 메타 데이터는 객체를 지정합니다.

아래와 같은 방식으로 FooService와 BarService 객체를 지정합니다.

@Component({
  selector: 'app-active-users',
  templateUrl: './active-users.component.html',
  styleUrls: ['./active-users.component.css'],
  providers: [FooService, BarService]
})

 

provider를 어디에 지정하느냐에 따라 인스턴스 공유 범위가 달라집니다.

 

AppModule : Application에 같은 인스턴스를 사용할 수 있습니다.

 

AppComponent : 모든 컴포넌트와 같은 인스턴스를 사용할 수 있습니다.

 

하위 컴포넌트 : 해당 컴포넌트와 그 아래 모든 자식 컴포넌트와 같은 인스턴스를 사용할 수 있습니다.

 

 

 

개별적으로 인스턴스를 선언하여 사용할 경우, constructor에 선언하여 사용합니다.

export class Foo {
  constructor(private barService: BarService){}
}

 

Service 객체를 사용하면, 이벤트를 emit없이 손쉽게 객체간 communication이 가능합니다.

 

Logging과 같은 경우 common으로 주로 사용하기 때문에, 매우 유익하겠죠?

반응형

'프로그래밍 > Angular' 카테고리의 다른 글

Router 정리  (0) 2019.06.25
Routes  (0) 2019.06.17
custom attribute Directive  (0) 2019.06.09
style 스타일링  (0) 2018.09.05
FormsModule With ViewChild  (0) 2018.09.05

+ Recent posts