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

#javascript #angular

Вопрос:

Я хочу, чтобы событие, которое запускается относительно в верхней части иерархии dom, передавалось дочернему компоненту ниже по иерархии.Ребенок не является прямым потомком родителя

Я понимаю, что делаю это с помощью декоратора ввода. Пожалуйста, обратите внимание, что сделать это наоборот, как и должно быть, невозможно.

HTML родительского файла выглядит следующим образом

 <element [data]="viewData" (anext)=OnNext($event)></element>
 

Мне нужно получить $event доступную информацию в ребенке. Как мне этого добиться?

Комментарии:

1. Для несвязанного компонента используйте угловой сервис

Ответ №1:

Вы можете создать службу с темой rxjs, как показано в приведенном ниже коде psuedo.

 //Evservice.ts

public subject = new Subject();
OnNext(event) {
   subject.next(event)
}

//childComponent.ts
constructor(ser: Evservice)

ser.subject.subscribe((ev) => {//access your event here});