2017-06-10 10 views
3

子モジュールと親モジュールの両方で使用するヘッダーがあります。これはインポートされ、親モジュールで使用されましたが、私は親と子の両方のモジュールに共通のヘッダを使う方法を指します。angular2の子モジュールコンポーネントで親モジュールコンポーネントを使用する方法

+0

どのような種類のエラーの? – hY8vVpf3tyR57Xib

+0

'コンポーネントは2つのモジュールの宣言の一部です? ' – yurzui

+0

yes未知(約束):エラー:タイプHeaderComponentは、AppModuleとProviderModuleの2つのモジュールの宣言の一部です! HeaderComponentを、AppModuleとProviderModuleをインポートする上位モジュールに移動することを検討してください。また、HeaderComponentをエクスポートしてインクルードし、そのNgModuleをAppModuleとProviderModuleにインポートする新しいNgModuleを作成することもできます。 –

答えて

5

を助けたりない場合は、使用するコンポーネントと共有モジュールを作成し、これらのコンポーネントをエクスポートし、そしてあなたの他のモジュールで共有モジュールをインポートする必要があり、私に教えてください親と子の場合)。

共有モジュール:共有モジュールを使用して

import { NgModule } from '@angular/core'; 
import { CommonModule } from '@angular/common'; 
import { SharedComponent1 } from "./SharedComponent1"; 
import { SharedComponent2 } from "./SharedComponent2"; 

@NgModule({ 
imports: [ 
    CommonModule 
], 
declarations: [ 
    SharedComponent1, 
    SharedComponent2 
], 
exports: [ 
    SharedComponent1, 
    SharedComponent2 
] 
}) 
export class SharedModule {} 

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

@NgModule({ 
imports: [ 
    CommonModule, 
    ... 
    SharedModule 
], 
declarations: [ 
    ... 
], 
providers: [ 
    ... 
] 
}) 
export class AppModule{} 
+0

答えはポイントの横にあります。第2の解決法は、角度エラーメッセージによって提案される。他の2つのモジュールをインポートする上位モジュールのコンポーネントを共有する第1のソリューションがあるので、コンポーネントを使用します。 – Hao

+0

角度のギブスのサポートと同じように退屈な...親子モジュールまたは子モジュールで直接インポートを行い、3番目のモジュールを呼び出す奇妙な対策はありません。エラーメッセージには不要なインポートがあるので、モジュール全体を追加するのではなく、いくつかの行を削除する必要があります。 – Eta

-1

あなたが取得したコードと指定されたエラーを共有できるなら、それは素晴らしいことでした。

基本的に、親コンポーネントのデータを子コンポーネントに渡したいと思っています。

このため、親パラメータを子に渡すには@Inputを使用する必要があります。

Component Interaction between parent and child

(それは

+0

ありがとうございます。私は子供と親の両方のモジュールのための共通のヘッダーを使用する方法を意味します –

+0

大丈夫、私はリンクがあなたのために有用だと思う。 – tom

+2

これは、親と子のコンポーネントについて記述していますが、私は**モジュールのやりとりが必要です** –

関連する問題