2017-01-11 129 views
-2

我需要注入服务1成服务2像下面描述的:Angular2:如何注入一个服务到另一个服务

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

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

但与此邮件时发生错误:

无法读取属性“ method1'undefined

请问有没有人在不改变main.ts或bootstrap方法的情况下解决这个问题?

非常感谢

+0

您在哪里以及如何提供服务? –

+1

你有一个错字'private service1 myFirstService'应该是=>'private service1:myFirstService'你没有':' – echonax

+0

是的,私人服务1:myFirstService – da45

回答

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

没有这不解决问题, – da45

+2

很难说没有更多的信息。你能在Plunker中重现吗? –

0

尝试在一个单独的文件中使用的每个服务, 所以bootstraper可以加载服​​务1第一个自主

+0

是的,我正在使用2个单独的文件, – da45

+0

请确保您先提供servise1 –

0

检查服务的正常进口到另一个服务文件并检查供应商的模块文件。

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