반응형
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 |