【发布时间】:2026-02-05 03:30:02
【问题描述】:
假设我有一个带有自定义事件的组件:
child.component.html
<button (click)="buttonClicked()">Test</button>
child.component.ts
@Component({
selector: 'my-child',
templateUrl: './child.component.html'
})
export class ChildComponent {
@Output() myEvent = new EventEmitter();
public buttonClicked() {
this.myEvent.emit();
}
}
然后我有另一个组件,其中包含第一个组件的多个实例。
parent.component.html
<my-child id="my-child-component-1" (myEvent)="myEventOccured()" />
<my-child id="my-child-component-2" (myEvent)="myEventOccured()" />
parent.component.ts
@Component({
selector: 'my-parent',
templateUrl: './parent.component.html'
})
export class ParentComponent {
public myEventOccured() {
//HERE I WANT I REFERENCE TO THE COMPONENT EMITTING THE EVENT.
}
}
在处理子组件的自定义事件的函数(myEventOccured())中,我想访问发出事件的组件。我该怎么做?
我在想也许我应该将发射组件作为参数发送给处理事件的函数 (myEventOccured()),但我不知道如何。
【问题讨论】:
-
(myEvent)="myEventOccured($event)"和emit(<whatever ref you need>) -
你能指定什么样的访问?