Angular2 模块 : How can i import a service from another module

标签 angular angular2-modules angular2-providers

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 {
}

否则导入包含服务类的文件

import { ClinicFacilityService } from './clinic-facility.service';

@NgModule() imports 和 TypeScript imports 之间有明显的区别。

如果您需要使用类名 (ClinicFacilityService),则需要该类的 TypeScript 导入。这与 @NgModule()

完全无关
@NgModule({
  ...
  providers: [
    ClinicFacilityService
  ],

如果需要@NgModule()导入,那么模块类(ApiClientModule)的类名需要TypeScript导入,因为需要传递模块。

@NgModule({
  imports: [
    ApiClientModule,
  ],
  • TypeScript 导入用于唯一标识一个类。
  • NgModule 导入是为了定义一个模块依赖于另一个模块。

关于Angular2 模块 : How can i import a service from another module,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40396070/

相关文章:

javascript - Angular 2 模块导入

Angular 2 Dart : How to detect click on everything but element?

html - Angular 组件和 CSS : child component too big for its parent

javascript - 在 AppModule 中导入不必要的模块是否会降低 Angular 2 应用程序的速度?

Angular2 - 'Can' t 在将 http 注入(inject)自定义服务时解决所有参数错误

jwt - 没有 AuthHttp 提供者! Angular2-Jwt 提供程序问题

Angular:使用服务延迟加载模块

angular - *ngfor array to ionic 2 中的 ionic 列表

javascript - 在 Angular 5 的帮助下渲染页面时出错

unit-testing - 带有模拟的 Angular 2 TestBed