2017-08-24 53 views
1

我有一個md對話框組件 - DialogComponent - 我從兄弟組件打開 - SiblingComponent - 我想通過一些動作關閉它在dialog.component.ts在它的component.ts中關閉md對話框

DialogComponent基本上是一個提交按鈕的形式,提交表格帶我到dialog.component.ts功能,我正在做一些驗證和發送數據到服務。

驗證通過後,併發送數據,我想作出一些超時,然後自動關閉撥號窗口,但我不知道如何在dialog.component.ts

回答

1

您可以注入MdDialogRef到對話框組件類,並用它來關閉它舉例:

export class DialogComponent { 

    constructor(private dialogRef: MdDialogRef<DialogComponent >) { } 


    someAction() { 

     // do your thing here 

     this.dialogRef.close(); // <- this closes the dialog. 
     // You can also wrap it in setTimeout() if you want 
    } 
} 
+0

他試圖從不同的組件達到他dialogRef – Carsten

+0

actualy沒有,我試圖從DialogComponent :) – esquarial

+0

@Carsten達到dialogRef,我會勸你再閱讀;) –

-1

運行像md-dialog-close你需要去的組件您參考想通過父母中的@ViewChild(MyComponent) myComponent;訪問。

從1兄弟姐妹,你需要通過使用@Output() event = new EventEmitter();發送一個事件給父母,然後在父母你可以通過使用它的引用訪問其他兄弟。你不需要@Output(),你也可以在父組件@ViewChild(SiblingOneComponent)& @ViewChild(SiblingTwoComponent)中創建兩個引用,並在子組件中設置一個變量:parentComponent:ParentComponent。它(父)利用SiblingOneComponent.parentComponent =這一點;

+1

我不認爲這是。 OP在詢問什麼,他只想從對話框組件類中關閉對話框實例。 –