2017-01-11 8 views
-2

가 나는 서비스 2로 서비스 1를 주입해야하는 다른 서비스로 서비스를 주입하는 방법 설명처럼 :Angular2는 :

@Injectable() 
export class myFirstService { 
    method1() {} 
} 

@Injectable() 
export class mySecondService { 
    constructor(private service1: myFirstService) {} 
    method2(){ 
     this.service1.method1(); 
    } 
} 

그러나 오류가이 메시지와 함께 발생

에게

이 '속성을 읽을 수 없습니다 method1 'of undefined

main.ts 또는 부트 스트랩 방법을 변경하지 않고이 문제를 해결하십시오.

감사

+0

어디에서 어떻게 서비스를 제공합니까? –

+1

당신은 typo'private service1 myFirstService'가 있어야합니다.'private service1 : myFirstService'는':'이 없습니다. – echonax

+0

예, 개인 service1 : myFirstService – da45

답변

0
@NgModule({ 
    imports: [...], 
    providers: [myFirstService, mySecondService], 
    ... 
}) 
class AppModule {} 
class AppComponent { 
    constructor(mySeconService:MySecondService) {} 
} 
+0

아니요,이 문제를 해결하지 못했습니다. – da45

+2

알기 힘듭니다 더 많은 정보없이. Plunker에서 재현 할 수 있습니까? –

0

는 별도의 파일에 각 서비스를 사용해보십시오 많은, 그래서 bootstraper는 다른 서비스로 서비스의 적절한 수입을위한 최초의 독립적

+0

예, 두 개의 별도 파일 인 – da45

+0

을 사용하고 있습니다. 먼저 servise1을 제공해야합니다. –

0

확인 서비스 1을로드 할 수 있습니다 파일 및 공급자에 대한 모듈 파일을 확인하십시오.

"http://plnkr.co/edit/skVuGMuN5npaiwM70idS?p=preview&open=app%2Fapp.component.ts"