Как кинуть событие в родительский компонент?

Для кинуть событие из дочернего компонента в родительский в Angular, вы можете использовать механизм событий и @Output декоратор.

Первым шагом является создание нового события в дочернем компоненте. Для этого вам нужно импортировать EventEmitter и Output из @angular/core и объявить новое свойство с типом EventEmitter. Например, в дочернем компоненте вы можете создать событие с именем myEvent:

import { Component, Output, EventEmitter } from '@angular/core';

@Component({
  selector: 'app-child',
  template: '<button (click)="onButtonClick()">Click me!</button>'
})
export class ChildComponent {
  @Output() myEvent = new EventEmitter();

  onButtonClick() {
    this.myEvent.emit();
  }
}

Затем вам нужно использовать дочерний компонент в родительском компоненте. Для этого вы можете добавить его тег в шаблон родительского компонента и присвоить событие к методу родительского компонента. Например:

import { Component } from '@angular/core';

@Component({
  selector: 'app-parent',
  template: `
    <app-child (myEvent)="onChildEvent()"></app-child>
  `
})
export class ParentComponent {
  onChildEvent() {
    // Обработка события
    console.log('Событие произошло в дочернем компоненте!');
  }
}

В данном примере, когда пользователь кликает на кнопку в дочернем компоненте, метод onButtonClick() вызывается и событие myEvent генерируется. Затем это событие привязывается к методу onChildEvent() в родительском компоненте, который будет вызываться при возникновении события.

Вы можете определить любое имя для события и соответствующего обработчика в родительском компоненте. Важно использовать строгое наименование и связывание событий, чтобы гарантировать правильную передачу данных между дочерним и родительским компонентами.

Надеюсь, это поможет вам понять, как кинуть событие в родительский компонент в Angular. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать!