2017-08-07 10 views
0

ユーザーがプラスボタンを押すとすぐに動的に多くの子を作成するAngular4コンポーネントがあります。子コンポーネントには、オプション選択後に親コンポーネントに情報を送信する必要のある入力セレクトがあります。親と子の間のAngular4通信

子供のコンポーネントは、子コンポーネントが持つEventEmitterを使用して出力を持っていますが、アプリケーションの実行時に何も起こりません。

let componentFactory = this.componentFactoryResolver.resolveComponentFactory(MyComponent); 
let viewContainerRef = this.anchor.viewContainerRef; 
viewContainerRef.createComponent(componentFactory); 

以下のセクションとしてComponentFactoryResolverによって作成されています

私はダイナミックな作成を試みずにうまくいきました。

私は多くの例を検索しましたが、いずれもangular4または親と動的作成済み子の間の通信は考慮しませんでした。

+0

問題の善良な例を作成できますか。解決策を見つけることは役に立ちます –

答えて

0

これを試してみてください:

let componentFactory = this.componentFactoryResolver.resolveComponentFactory(MyComponent); 
let viewContainerRef = this.anchor.viewContainerRef; 
const dynamicComponentInstance = viewContainerRef .createComponent(componentFactory) 
      .instance; 
dynamicComponentInstance['childEventEmitter'].subscribe((eventEmitter) => { 
      console.log(eventEmitter) 
     }); 

"childEventEmitterは、" あなたは、子コンポーネントから放出する変数名です。

関連する問題