我有一个名为 customComponent
的组件
import {Component} from '@angular/core';
import { appService } from './app.service';
@Component({
selector: 'custom-root',
template: `<h1>how</h1>
<ul *ngFor="let hero of heroes"><li>{{hero}}</li></ul>`,
})
export class CustomComponent {
heroes = ['first','second','third'];
//heroes;
value: string = "";
// constructor(appService: appService) { }
/* ngOnInit(): void {
this.value = this._appService.getApp();
} */
}
在
appService
我有import {
Injectable
} from '@angular/core';
@Injectable()
export class appService {
getApp(): string {
return "Hello world";
}
}
在
app.module.ts
我正在导入应用服务import { appService } from './app.service';
@NgModule({
declarations: [
AppComponent,CustomComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule
// appService
],
providers: [appService],
bootstrap: [AppComponent]
})
export class AppModule { }
现在我收到一个错误
cannot find name appService in custom Component line number 15
我该如何解决这个问题?
最佳答案
在 CustomComponent 文件导入中:
import { Inject } from '@angular/core';
然后在 DI 的构造函数中使用它:
constructor(@Inject(appService) private appService) { }
在此之后,请确保您在模块的提供者中取消注释 appService。
imports: [
BrowserModule,
FormsModule,
HttpModule,
RouterModule,
appService
],
关于angular - 在 angular2 中找不到名称错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44517752/