Angular2:如何将服务注入另一个服务

时间:2017-01-11 10:31:45

标签: angular dependency-injection

我需要将service1注入service2,如下所述:

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

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

但是此消息发生错误:

无法读取未定义的属性'method1'

请不要在不更改main.ts或bootstrap方法的情况下解决此问题吗?

非常感谢

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试在单独的文件中使用每个服务, 所以bootstraper可以先独立加载service1

答案 2 :(得分:0)

检查服务是否正确导入另一个服务文件,并检查提供程序的模块文件。

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