点击儿童的时候如何从父母那里召唤方法?

Non*_*one 4 angular

我有两个组成部分,父母和孩子.在孩子我有按钮.当用户点击子节点中的那个按钮时,我想要调用父节点中的方法.有什么建议吗?

Pie*_*Duc 7

这是非常基本的角度,您可以通过https://angular.io上的指南找到大量示例.

但是如果你仍然找不到它,你必须使用@Output装饰器,设置一个EventEmitter字段并emit在单击按钮时调用.这样,您可以使用事件表示法从父级附加到它():

@Component({
   selector: 'parent',
   template: `<child (buttonClick)="onButtonClick($event)"></child>`
})
export class ParentComponent {

   public onButtonClick(event: MouseEvent): void {
      // ...
   }

}
Run Code Online (Sandbox Code Playgroud)

儿童

@Component({
    selector: 'child',
    template: `<button (click)="buttonClick.emit($event)"></button>`
})
export class ChildComponent {

   @Output()
   public buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();

}
Run Code Online (Sandbox Code Playgroud)