2017-09-11 77 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ź –

相关问题