@Output and Event Bubbling
Create an example of event bubbling with @Output, where a child component emits an event that is propagated to a higher-level parent component.
class ChildComponent {
// Event emitter with @Output decorator
@Output() childEvent = new EventEmitter<string>();
// Function to emit an event
emitEvent() {
this.childEvent.emit('Data from child');
}
}
This piece of code represents a child component that has an event emitter defined with the @Output decorator. It can emit an event carrying a string to the parent component.
class ParentComponent {
// Function to handle the event emitted from the child
onChildEvent(data: string) {
console.log('Received from child:', data);
}
}
This code snippet represents the parent component with a function designed to handle events from the child component.
<!-- Parent component template -->
<child-component (childEvent)="onChildEvent($event)"></child-component>
This is the HTML template of the parent component. It listens for the 'childEvent' emitted by the child component and calls the 'onChildEvent' method upon capturing that event.