angular4错误错误:没有NetworkService的提供程序

时间:2017-08-13 11:23:02

标签: angular

第一次创建angular4项目。我将network.service.ts添加到services.module.ts提供程序,然后我将services.module.ts添加到shared.module.ts提供程序,然后我将shared.module.ts添加到app.module.ts提供程序。 当我尝试在我的视图中使用NetworkService时,我得到ERROR错误:没有NetworkService的提供程序。

当我直接将NetworkService添加到app.module.ts提供程序时,会发生此错误。

我想知道是否有可能像我一样链接提供商,如果可以的话,如何做到这一点。

network.service.ts

<T>

service.module.ts

import { Injectable } from '@angular/core';

@Injectable()

export class NetworkService {

  constructor() { }

  test = "testing";

  myTest(){
    return 'method testing';
  }

}

shared.module.ts

import { NgModule } from '@angular/core';
import { NetworkService } from './network.service';


@NgModule({
  imports: [],
  exports:[],
  declarations: [],
  entryComponents: [],
  providers: [NetworkService]
})

export class ServicesModule {
}

app.module.ts

import { NgModule } from '@angular/core';
import { ServicesModule } from './services/services.module';


@NgModule({
  imports: [],
  exports:[],
  declarations: [],
  entryComponents: [],
  providers: [
    ServicesModule,
  ]
})

export class SharedModule {
}

enter image description here

2 个答案:

答案 0 :(得分:0)

您必须在appmodule中添加提供程序

必须使用SharedModule

在提供者行添加提供者

答案 1 :(得分:0)

您对import { NgModule } from '@angular/core'; import { ServicesModule } from './services/services.module'; @NgModule({ imports: [ServicesModule], // import modules exports:[], declarations: [], entryComponents: [], providers: [] // do not provide modules }) export class SharedModule { } 的定义很好,但是,您需要在其他功能模块中导入模块而不是提供它们:

exports: []

AppModule也是如此。没有必要将您的服务放入模块的console.log,它仅用于指令,管道和其他模块(组件是指令的子形式)。