我有一个结构如下的项目:
project
-src
--app
---project
----project.component.ts
----project.component.html
----project.component.sass
---project.module.ts
---project.service.ts
在我的组件中,我尝试使用该服务:
constructor(private ProjectService: ProjectService) {
this.ProjectService = ProjectService;
}
但是当我运行ng serve
它失败说ERROR in /Users/jrquick/uabshp/project/src/app/project/project.component.ts (9,49): Cannot find name 'ProjectService'
即使我在 project.module.ts 文件中有服务:
import { ProjectService } from './project.service';
@NgModule({
declarations: [
ProjectComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [
ProjectService
],
bootstrap: [
ProjectComponent
],
exports: [
ProjectComponent,
ProjectService
]
})
我已经尝试将它添加到我的组件注释的提供者数组中,但我更喜欢使用单例服务。我也可以直接在 project.compontent.ts 文件中导入服务(如下所示),但必须在模块中复制和粘贴相同的导入语句以及多个组件和服务并不理想。
import { ProjectService } from './project.service';
project.service.ts 声明:
import { Injectable } from '@angular/core';
@Injectable()
export class DefaultVariableService {
constructor() {
}
...
}