我有父组件
<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>
在Child组件中我有方法 onSubmit(){}
我有一个问题,当我点击parrent组件中的按钮确认时,何时调用onSubmit()函数。
我知道我可能应该使用@Input和@Output装饰,但我不知道如何正确。
答案 0 :(得分: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>
答案 1 :(得分:1)
在您的父组件中:
onClick(){
this.buttonMessage = true;
在你的孩子身上:
@Input() buttonMessage: boolean;
并且ngOnChanges:
ngOnChanges(changes: any) {
if(changes.buttonMessage.currentValue){
this.onSubmit();