我正在重新审视我在VS2015网络项目中为ng2应用启动的设置。它在某一点上起作用。该应用程序使用Typescript并按预期构建。例如,它构建时没有错误但是如果我在ts中放置随机字符就会失败,因此ts似乎按预期构建。
我在应用程序中有一个ReportService,但我注释掉了所有引用,我仍然在帖子标题中收到运行时错误。首先,我想简单地注释掉ReportService引用,让页面无错误地加载,然后重新引入ReportService。知道我在这里可能缺少什么吗?
答案 0 :(得分:0)
No provider for xxx
经常出现在您拥有自己的组件的module
未提供服务的情况下,或者由module
导入的module
提供的服务。
示例:
import { NgModule } from "@angular/core";
import { MyService } from "./my.service";
import { MyComponent } from './my.component';
@NgModule({
declarations: [ MyComponent ],
providers: [ MyService ]
})
export class MyModule {}
现在,您可以在MyService
中使用MyComponent
:
import { Component } from "@angular/core";
import { MyService } from "./my.component";
@Component()
export class MyComponent {
constructor(private service: MyService) {}
public someMethod(): void {
this.service.someMethod();
}
}
您也可以从module
导出该服务,以便在其他模块中使用它:
import { NgModule } from "@angular/core";
import { MyService } from "./my.service";
import { MyComponent } from './my.component';
@NgModule({
declarations: [ MyComponent ],
providers: [ MyService ],
exports: [ MyService ]
})
export class MyModule {}
现在,您可以在导入MyService
的任何地方使用MyModule
:
import { NgModule } from "@angular/core";
import { MyModule } from "./my.module";
import { AnotherComponent } from './another.component';
@NgModule({
imports: [ MyModule ]
declarations: [ AnotherComponent ],
})
export class MyModule {}
import { Component } from "@angular/core";
import { MyService } from "./my.component";
@Component()
export class AnotherComponent {
constructor(private service: MyService) {}
public anotherMethod(): void {
this.service.someMethod();
}
}