2017-09-11 78 views
0

我父組件如何調用從子組件功能在父組件

<div md-dialog-content> 
    <div class="section-top"> 
    <p id="title" style="float:left;">Adding Dockument</p> 
    <div md-dialog-actions style="float:right;"> 
     <button class="edm-button inline" md-button (click)="onNoClick()" tabindex="-1">Cancel</button> 
     <button class="edm-button inline" md-button (click)="onClick()" tabindex="-1">Confirm</button> 
    </div> 
    </div> 
    <div> 
    <app-document-data [buttonMessage]="buttonMessage"></app-document-data> 
    </div> 
</div> 

兒童成分,我有方法 的onsubmit(){}

我有一個問題時,將調用的onsubmit()功能,當我點擊一個按鈕確認在parrent組件。

我知道,我也許應該使用@input和@Output裝飾,但我不知道如何正確的。

+0

isSubmit方法屬於app-document-data組件嗎? – Faly

+0

@Faly,是的onsubmit方法屬於APP-文檔數據 –

回答

1

甚至還有更簡單:給孩子一個模板引用,並可以調用它的函數,像這樣:(我猜你的第二個按鈕,將調用)

<div md-dialog-content> 
    <div class="section-top"> 
    <p id="title" style="float:left;">Adding Dockument</p> 
    <div md-dialog-actions style="float:right;"> 
     <button class="edm-button inline" md-button (click)="onNoClick()" tabindex="-1">Cancel</button> 
     <button class="edm-button inline" md-button (click)="appDD.onSubmit()" tabindex="-1">Confirm</button> 
    </div> 
    </div> 
    <div> 
    <app-document-data #appDD [buttonMessage]="buttonMessage"></app-document-data> 
    </div> 
</div> 
+0

這更不是一個回答他的問題,可以張貼的評論的建議。 – Swoox

+0

好吧,試試吧,並在評論中發佈代碼! – trichetriche

+0

似乎不適合我。 **無法讀取屬性 '保存' 未定義** '的<編輯階#editOrderRef>'' <按鈕類= 「按鈕成功」(點擊)= 「editOrderRef.save()」>保存' – Swoox

1

在你父組件:

onClick(){ 
    this.buttonMessage = true; 

在你的孩子:

@Input() buttonMessage: boolean; 

和一個ngOnChanges:

ngOnChanges(changes: any) { 
    if(changes.buttonMessage.currentValue){ 
    this.onSubmit(); 
+0

Swoox它的正常工作,ngOnchanges()執行只有一個,但我需要一個方法執行一個以上的我嘗試在ngOnChanges設置buttonMessage =假,現在使用@輸出將數據發送給父代 –

+1

這是因爲您需要將該值再次更改爲false。 ngOnChanges上變化不工作,如果** buttonMessage.currentValue ===真**和** buttonMessage.previousValue ===真**。它需要** buttonMessage.previousValue === false **。 *對不起爲已故答覆* – Swoox

+0

我找到 簡單的方式只使用局部參考<應用程序的文檔數據#DocumentDataComponent><按鈕類=「EDM-按鈕內聯」 MD-按鈕(點擊) = 「DocumentDataComponent.onSubmit()」 的tabindex = 「 - 1」>Zatwierdź –

相關問題