Я не могу понять, почему дочерний компонент не передает сигнал моему родительскому компоненту. Вот мои компоненты.
Родительский компонент:
import { Component, ChangeDetectionStrategy } from '@angular/core';
@Component({
selector: 'app-flights',
template: `<app-date-picker (dateRange)="onRangeSelect($event)"></app-date-picker>`,
styleUrls: ['./flights.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class FlightsComponent {
onRangeSelect(range: string){
console.log("From Parent =>", range);
}
}
Дочерний компонент:
import {Component, ChangeDetectionStrategy, EventEmitter, Output } from '@angular/core';
@Component({
selector: 'app-date-picker',
template: `<button (click)="go('From Child')">Emit</button>`,
styleUrls: ['./date-picker.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class DatePickerComponent {
@Output() dateRange: EventEmitter<string> = new EventEmitter<string>();
go(message: string) {
console.log('Button Clicked ', message);
this.dateRange.emit(message);
}
}
Когда я нажимаю кнопку «Emit», консоль регистрирует сообщение, 'Button Clicked From Child', но насколько я могу судить, dateRange не излучает, потому что журналы консоли в родительском компоненте не происходят. Спасибо, что заглянули.