Я пытаюсь передать событие из дочернего компонента в родительский компонент.
Вот часть файла TS родительского файла:
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-car-detail',
templateUrl: './car-detail.component.html',
styleUrls: ['./car-detail.component.css'],
})
export class CarDetailComponent implements OnInit {
constructor() { }
ngOnInit() {
this.getCarDetail(this.route.snapshot.params['id']);
}
refreshList(event){
console.log("Parent called");
}
}
И часть шаблона, касающаяся эмиттера
<app-operations (myEvent)="refreshList($event)"></app-operations>
Вот дочерний файл TS:
import {Component, EventEmitter, OnInit, Output} from '@angular/core';
@Component({
selector: 'app-add-operation',
templateUrl: './add-operation.component.html',
styleUrls: ['./add-operation.component.css']
})
export class AddOperationComponent implements OnInit {
@Output() myEvent = new EventEmitter<any>();
constructor() { }
ngOnInit() {
}
callParent() {
console.log('callparentmethod');
this.myEvent.emit('eventDesc');
}
}
и кнопка для проверки вызова метода callParent:
<button (click)="callParent()">call</button>
Когда я нажимаю кнопку, я вижу, что метод callParent запущен, но метод, который должен быть запущен в родительском (refreshList), нет. Я просмотрел несколько примеров и не понимаю, почему это не работает.