2016-08-17 3 views
0

아래처럼 NgModule을 만들었지 만 SomeComponent에 SomeService를 포함해야합니다. 그렇지 않으면 오류가 발생합니다. 그게 올바른 방법일까요? 라우팅 파일과 마찬가지로 NgModule에서 이미 가져온 구성 요소를 가져와야합니다. SomeComponent에서Angular2 RC5 : 구성 요소 및 라우터 파일에서 반복적으로 가져 오기

@NgModule({ 
    imports:  [ CommonModule, SharedModule ], 
    declarations: [ SomeComponent ], 
    providers: [ SomeService ] 
}) 

export class TestModule { } 

: 맞습니다

import { SomeService } from "./some.service"; 

    export class SomeComponent { 
     constructor(private _someService: SomeService) { 
      this._comService.xxx 
     } 
    } 

답변

0

맞습니다. 가져 오기를 사용하면 서비스 클래스의 속성 및 메서드에 액세스 할 수 있으며 생성자 매개 변수에 대한 참조를 포함하면 해당 인스턴스를 가져 오기 위해 Angular에 알려줍니다.

당신이하고 싶지 않은 유일한 일은 당신이 사용하고자하는 컴포넌트의 내부에있는 제공자로서 서비스를 나열하는 것입니다. 이미 모듈 데코레이터의 providers 배열에리스트되어 있으므로, 다른 공급자가 별도의 인스턴스를 만들 것입니다.

Angular NgModule docs

0

. 여전히 가져 오기를 수행해야합니다. 당신은 단지 곳곳에 제공자와 지시어를 선언 할 필요가 없습니다.

관련 문제