是否可以在另一个component.ts中运行这些函数?

时间:2018-01-28 09:07:10

标签: angular

我在x.component.html

上的按钮上找到了这个

(click)='xxManageSearchFormClick()'

但问题是xxManageSearchFormClick位于y.component.ts

并且在角度x.component.html中是否有办法能够运行y.component.ts的函数?

这有点像运行父窗口的功能(在传统的html / window / js交互中)

1 个答案:

答案 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');
}