2017-07-12 11 views
0

私は、ダイアログボックスで子コンポーネントを開き、親コンポーネントがあります。ダイアログ内の子から親への角度4パス変数?

open() { 
     this.dialogRef = this.dialog.open(ItemComponent); 

     this.dialogRef.afterClosed().subscribe(result => { 

      this.dialogRef = null; 
     }); 
    } 

はどのように定義し、親コンポーネントに渡される子コンポーネントに変更/使用されている変数を使用できますか?

+0

**ステップ8 **答えからhttps://stackoverflow.com/questions/34205593/working-example-of-angularを参照してください。 -2-0-材料-mddialog-with-angular-2-0/40185852#40185852 – yurzui

+0

あなたの問題を解決するplnkrリンクがあります。(そして私の)[link](http://plnkr.co/edit/KbE3uQi2zMNaZlZEEG5Z?p =情報)。すべてのクレジットはトーマスピンクになります。このディスカッションスレッド[リンク](https://github.com/angular/material2/issues/3593)を参照してください。希望が役立ちます。 – JefferinJoseph

答えて

1

ご質問は、この場合での角度のComponent Interaction

に関連している、あなたは、あなたの子コンポーネントで@Output()を使用することができます。

child.component.ts

@Ouput() childForm = new EventEmitter(); 

constructor() { 
} 

someFunction() { 
    this.childForm.emit('some data variable') 
} 

をparenet .component.html

<child-component (childForm)="getDataFromChild($event)"></child-component> 

parent.component.ts

public getDataFromChild(event: Event) { 
    if (event) { 
    // do something 
    } 
} 

+0

あなたは間違いをしました '<子コンポーネント(出力)=" getDataFromChild($イベント) ">' –

+0

thxはそれを指摘してください! –

+0

エラーは何ですか?これを試してみると問題が発生します:( – eagleEye

関連する問題