Angular2 模块:如何从另一个模块导入服务
Angular2 Module: How can i import a service from another module
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ClinicFacilityService } from './apiClient.module';
@NgModule({
imports: [
CommonModule,
FormsModule
],
declarations: [
DailyScheduleComponent,
],
providers: [
ClinicFacilityService
],
exports: [
DailyScheduleComponent
],
})
export class ClinicDashboardModule {
}
我需要导入在另一个模块 (apiClient.module
) 中声明的 ClinicFacilityService
这是否可能,如果不可能,为什么不可能。目前我正在导入 ClinicFacilityService
这样的:
import { ClinicFacilityService } from './api-client-service/clinic-facility.service';
将模块添加到导入中应该可以
import { ApiClientModule } from './apiClient.module';
@NgModule({
imports: [
ApiClientModule,
CommonModule,
FormsModule
],
declarations: [
DailyScheduleComponent,
],
exports: [
DailyScheduleComponent
],
})
export class ClinicDashboardModule {
}
否则导入包含服务的文件class
import { ClinicFacilityService } from './clinic-facility.service';
@NgModule()
imports
和 TypeScript 导入之间有明显的区别。
如果您需要使用 class 名称 (ClinicFacilityService
),则需要导入该 class 的 TypeScript。这与 @NgModule()
完全无关
@NgModule({
...
providers: [
ClinicFacilityService
],
如果需要@NgModule()
导入,那么模块的class名称class(ApiClientModule
)需要TypeScript导入,因为需要传递模块.
@NgModule({
imports: [
ApiClientModule,
],
- TypeScript 导入用于唯一标识 class。
- NgModule 导入是为了定义一个模块依赖于另一个模块。
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FormsModule } from '@angular/forms';
import { ClinicFacilityService } from './apiClient.module';
@NgModule({
imports: [
CommonModule,
FormsModule
],
declarations: [
DailyScheduleComponent,
],
providers: [
ClinicFacilityService
],
exports: [
DailyScheduleComponent
],
})
export class ClinicDashboardModule {
}
我需要导入在另一个模块 (apiClient.module
) 中声明的 ClinicFacilityService
这是否可能,如果不可能,为什么不可能。目前我正在导入 ClinicFacilityService
这样的:
import { ClinicFacilityService } from './api-client-service/clinic-facility.service';
将模块添加到导入中应该可以
import { ApiClientModule } from './apiClient.module';
@NgModule({
imports: [
ApiClientModule,
CommonModule,
FormsModule
],
declarations: [
DailyScheduleComponent,
],
exports: [
DailyScheduleComponent
],
})
export class ClinicDashboardModule {
}
否则导入包含服务的文件class
import { ClinicFacilityService } from './clinic-facility.service';
@NgModule()
imports
和 TypeScript 导入之间有明显的区别。
如果您需要使用 class 名称 (ClinicFacilityService
),则需要导入该 class 的 TypeScript。这与 @NgModule()
@NgModule({
...
providers: [
ClinicFacilityService
],
如果需要@NgModule()
导入,那么模块的class名称class(ApiClientModule
)需要TypeScript导入,因为需要传递模块.
@NgModule({
imports: [
ApiClientModule,
],
- TypeScript 导入用于唯一标识 class。
- NgModule 导入是为了定义一个模块依赖于另一个模块。