2017-09-04 16 views
0

MdDialogコンポーネントを含むページ(親ページなど)があります。ダイアログウィンドウ内で、私はmd-buttonを設定しました。 このmd-buttonは、クリック時に親ページボタンの機能をトリガーできますか?別のボタンをクリックしてmd-buttonからクリックする角度材質

+0

はいこれは共有サービスを利用して、ページとダイアログを扱う標準コントローラを作成しないと、 –

+0

アクションをトリガーすることができます。 – Saubar

+0

例を挙げることができますか?申し訳ありませんが、これはかなり新しいです – OreoFanatics

答えて

1

はい、件名を使用してイベントをトリガーできます。サブジェクトの発信と購読には、共有サービスを使用します。コンストラクタでtriggerParentMethodに加入し、

import {Injectable } from '@angular/core'; 
import { Subject } from 'rxjs'; 

@Injectable() 
export class SharedService{ 
    public triggerParentMethod: Subject<boolean> = new Subject<boolean>(); 
} 

あなたParentComponentで:

このようなshared.serviceを定義

this.sharedService.triggerParentMethod.next(true); 

コンプリートworking demo:あなたのダイアログから

constructor(private sharedService:SharedService,public dialog: MdDialog){ 
     this.sharedService.triggerParentMethod.subscribe(value =>{ 
     if(value == true){ 
      // Call some method here or some piece of code 
      console.log('called from dialog'); 
     } 
     }); 
    } 

エミットtriggerParentMethod

+0

ありがとう!しかし、ダイアログウィンドウ内の入力からトリガされ、親ページに表示されるCRUDメソッド(create関数のみ)を実装する短い例を提供できますか? – OreoFanatics

+0

私はあなたが尋ねようとしていることを理解していませんでした – Faisal

+0

私は、ダイアログウィンドウに 'md-input'を持っていることを意味しました。今度は 'md-input'フィールドに入力された値に基づいてCRUDメソッドを作成したいと思っています。追加された新しいオブジェクトは、親ページに表示されます。 – OreoFanatics

関連する問題