Javascript 如何将事件从子组件激发到父组件? parent.component.ts parent.component.html 我想做的是,当我单击子组件按钮时,我想执行parenttest()函数 但是当我使用此部件时,显示另一个单击此处按钮。但是我不想再显示一个按钮。因为我已经在网格中显示了child.component.html按钮 现在我想在单击该按钮后执行parenttest()如何解决此问题
您可以使用Javascript 如何将事件从子组件激发到父组件? parent.component.ts parent.component.html 我想做的是,当我单击子组件按钮时,我想执行parenttest()函数 但是当我使用此部件时,显示另一个单击此处按钮。但是我不想再显示一个按钮。因为我已经在网格中显示了child.component.html按钮 现在我想在单击该按钮后执行parenttest()如何解决此问题,javascript,angular,Javascript,Angular,您可以使用输出和事件发射器实现这一点。更新以下代码: @Output() clicked = new EventEmitter(); callParent(){ this.clicked.emit() } 在parent.component.html中,添加子选择器及其引发的事件: <app-child (clicked)="test()"></app-child> 现在在child.component.ts中添加以下代码: @Ou
输出
和事件发射器
实现这一点。更新以下代码:
@Output() clicked = new EventEmitter();
callParent(){
this.clicked.emit()
}
在parent.component.html
中,添加子选择器及其引发的事件:
<app-child (clicked)="test()"></app-child>
现在在child.component.ts
中添加以下代码:
@Output() clicked = new EventEmitter();
callParent(){
this.clicked.emit()
}
单击按钮时触发callParent
方法:
<button (click)="callParent()"> click </button>
点击
下面是一个工作示例:
this.eventfire.next()代码>应该是this.eventfire.emit()代码>谢谢,但仍然没有解决我的问题!您的具体情况是什么?事件未生成还是显示两个单击此处按钮?我无法理解您的问题陈述。如果您可以显示UI的屏幕截图,这将非常有用。@Kevin_Mac什么是网格按钮?新创建的按钮是什么?我们不知道。如果您需要帮助,可以适当地重新构造您的问题
<app-child (clicked)="test()"></app-child>
test(){
alert('parent function called from child!')
}
@Output() clicked = new EventEmitter();
callParent(){
this.clicked.emit()
}
<button (click)="callParent()"> click </button>