你好我一直试图解决这个问题大约2天,现在我看不出哪里出错了。我收到一些错误,我不知道如何调试。
没有AppService的提供者
我在一个傻瓜中重新创建了这个
我认为问题在于我没有注册AppService任何软件。
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App ]
})
export class AppModule {}
答案 0 :(得分:3)
Injectable()
export class AppService{
应该是
@Injectable()
export class AppService{
provoder:[AppService]
应该是
providers:[AppService]
如果您想为整个应用程序提供服务的单个实例,请将其添加到AppModule
的提供程序中,如其他答案所示。如果你想要一个每AppComponent
的实例(通常也是整个应用程序的一个实例),那么保持它的位置。模块级别提供的其他服务无法以这种方式注入AppService
。
答案 1 :(得分:1)
您必须将AppService添加到providers
数组:
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App ],
providers: [AppService]
})
export class AppModule {}
您可以在此处阅读有关Angular2依赖注入的更多信息:https://angular.io/docs/ts/latest/guide/dependency-injection.html
答案 2 :(得分:0)
添加
providers: [AppService],
在@NgModule
中,如下所示:
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
providers: [ AppService ],
bootstrap: [ App ]
})
export class AppModule {}
你是对的,你需要向你的模块声明你的服务才能将它用作DI。