2017-07-12 5 views
0

こんにちは私は角度4を使用しています。私はいくつかのhtmlのコンポーネントを持っています。しかし、私は私のモジュールをさまざまな他のモジュールにインポートすると、それは1つのモジュールでしか定義できないと言います...どうすればそれを動作させることができますか?さまざまなコンポーネントの1つのコンポーネントを呼び出します。角度4

私はparam-varをグローバルに表示してレジュームします。

コンソールエラー

ERRORエラー:キャッチされない(約束で):エラー:GlobalesModuleとResumenModule:タイプParamVarComponentは2つのモジュールの宣言の一部です! ParamVarComponentを、GlobalesModuleとResumenModuleをインポートする上位モジュールに移動することを検討してください。また、新しいNgModuleを作成して、ParamVarComponentをエクスポートして組み込み、そのNgModuleをGlobalesModuleおよびResumenModuleにインポートすることもできます。

PARAMのVARモジュール

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 


import { ParamVarRoutingModule } from './param-var-routing.module'; 
import { ParamVarComponent } from './param-var.component'; 

import { FormsModule, ReactiveFormsModule} from '@angular/forms'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    ParamVarRoutingModule, 
    FormsModule, 
    ReactiveFormsModule 
    ], 
    declarations: [ParamVarComponent, 

    ] 
}) 
export class ParamVarModule { } 

GLOBALES MODULE

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 


import { GlobalesRoutingModule } from './globales-routing.module'; 
import { GlobalesComponent } from './globales.component'; 

import {ParamVarComponent} from '../param-var/param-var.component'; 
import { FormsModule, ReactiveFormsModule} from '@angular/forms'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    GlobalesRoutingModule, 
    FormsModule, 
    ReactiveFormsModule, 

    ], 
    declarations: [GlobalesComponent,ParamVarComponent, 


    ] 
}) 
export class GlobalesModule { } 

概要モジュール

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 


import { ResumenRoutingModule } from './resumen-routing.module'; 
import { ResumenComponent } from './resumen.component'; 

import { FormsModule, ReactiveFormsModule} from '@angular/forms'; 
import {ParamVarComponent} from '../param-var/param-var.component'; 

@NgModule({ 
    imports: [ 
    CommonModule, 
    ResumenRoutingModule, 
    FormsModule, 
    ReactiveFormsModule, 

    ], 
    declarations: [ResumenComponent,ParamVarComponent, 


    ] 
}) 
export class ResumenModule { } 
+0

「ParamVarModule」を他の2つのモジュールにインポートする方法を投稿できますか? –

+0

コンポーネントを宣言するモジュールを作成すると、そのモジュールをインポートするモジュールはそのコンポーネントにアクセスできます – LookForAngular

+0

@BoChen今すぐチェック! –

答えて

1

新規作成SharedModule(または他の名前ですが、Angular's Style Guideに一致する名前) を宣言し、ParamVarComponentにエクスポートしてください。これで、アプリケーション内の他のモジュールでSharedModuleを何度でもインポートできます。 ParamVarComponentがエクスポートされているので、それらのモジュールがSharedModuleをインポートするとすぐに他のモジュールの内部で使用することができます。

@NgModule({ 
    imports: [ 
     CommonModule, 
     FormsModule, 
     ReactiveFormsModule 
    ], 
    declarations: [ParamVarComponent], 
    exports: [ParamVarComponent] 
}) 
export class SharedModule { } 

@NgModule({ 
    imports: [ 
     CommonModule, 
     FormsModule, 
     ReactiveFormsModule, 
     SharedModule 
    ] 
}) 
export class OtherModule#{ } 
+0

いいえ。 –

+0

コードだけでなく説明もお願いします。 @Ixam Deirf:コンポーネントは、一度に1つのモジュールでのみ宣言できます。別のモジュールでコンポーネントを使用するには、そのコンポーネントを含むモジュールでコンポーネントをエクスポートし、そのモジュールを他のモジュールにインポートして、 。 – snaplemouton

+0

私の答えを更新してください... –

関連する問題