common - angular provider usevalue



Angular2 모듈:다른 모듈에서 서비스를 가져 오는 방법 (1)

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 과 같이 가져 ClinicFacilityService .

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

https://ffff65535.com


가져 오기에 모듈을 추가하면됩니다.

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 가져 오기는 모듈이 다른 모듈에 종속되어 있음을 정의하는 것입니다.