使用forRoot从NgModule导出服务

时间:2017-10-30 03:02:40

标签: angular

我创建了一个模块@ foo / bar

static forRoot() : ModuleWithProviders { return { ngModule: BarModule, providers: [BarService] }

我可以从我的AppModule

导入

import { BarModule } from '@foo/bar' ... imports: [BarModule.forRoot()}

但是,我如何在组件中实际使用BarService?如我所希望的那样,简单地导入就不能让我访问BarService:

import { BarService } from '@foo/bar' // Compile error: there is no BarService

2 个答案:

答案 0 :(得分:0)

BarService BarModule 不同,它应该有一个不同的位置可供导入。

如果您使用的是VSCode,则可以使用IDE导入它。检查导入的路径是否合适!

然后在构造函数中使用它,如下所示,

export class YourComponent{
  constuctor(privatr bar:BarService){
    console.log(this.bar);
}

答案 1 :(得分:0)

如果您想使用您需要注入的服务

export class MyComponenr {
  constuctor(privatr bar:BarService){
    console.log(bar.someprop);
  }
}

为此,您还需要已有的导入。