我在x.component.html
上的按钮上找到了这个 (click)='xxManageSearchFormClick()'
但问题是xxManageSearchFormClick位于y.component.ts
并且在角度x.component.html中是否有办法能够运行y.component.ts的函数?
这有点像运行父窗口的功能(在传统的html / window / js交互中)
答案 0 :(得分:1)
单击按钮后,您可以使用@output()从子组件触发事件到父组件。
在您的子组件模板(HTML)中:
<button type="button" (click)="onClickChlidComponent()">Click me</button>
子组件打字稿文件:
import {Output, EventEmitter} from '@angular/core';
@Component({
selector:'x-component',
})
export class XComponent{
@Output() buttonXClicked = new EventEmitter();
onClickChlidComponent(){
this.buttonXClicked.emit(null);//You can pass whatever you want throw the output
}
}
您的父组件模板是:
<x-component (buttonXClicked)="onChildXButtonClicked($event)"></x-component>
您的父组件打字稿:
onChildXButtonClicked(outputData:any){
alert('button on the x component has clicked');
}