Вы понимаете, почему @Output не передает сигнал своему родительскому компоненту? - PullRequest
0 голосов
/ 02 августа 2020

Я не могу понять, почему дочерний компонент не передает сигнал моему родительскому компоненту. Вот мои компоненты.

Родительский компонент:

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 не излучает, потому что журналы консоли в родительском компоненте не происходят. Спасибо, что заглянули.

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