在Angular中,服务是一种可重用的数据或逻辑,可以被注入到组件或其他服务中。要在功能模块中包含服务,你需要遵循以下步骤:
my-service.service.ts
的文件。my-feature.module.ts
)中,导入并声明服务:my-feature.module.ts
)中,导入并声明服务:providers
数组中声明。forwardRef
来解决。providers
数组中,而不是模块的providers
数组中。// my-service.service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root' // 或者在模块的providers数组中声明
})
export class MyService {
getData() {
return 'Some data';
}
}
// my-feature.module.ts
import { NgModule } from '@angular/core';
import { MyService } from './my-service.service';
@NgModule({
declarations: [
// ... 其他声明
],
imports: [
// ... 其他导入
],
providers: [MyService]
})
export class MyFeatureModule { }
// my-component.component.ts
import { Component } from '@angular/core';
import { MyService } from './my-service.service';
@Component({
selector: 'app-my-component',
templateUrl: './my-component.component.html',
styleUrls: ['./my-component.component.css']
})
export class MyComponent {
constructor(private myService: MyService) {
console.log(this.myService.getData());
}
}
通过以上步骤,你可以在Angular的功能模块中成功包含和使用服务。
领取专属 10元无门槛券
手把手带您无忧上云