использовать @ Output декоратор, который обеспечивает механизм для дочернего компонента, чтобы отправлять события до его родительского компонента.
import { Component, Output, EventEmitter } from '@angular/core';
//...
export export class TimerComponent implements OnInit {
@Output() timerEvent= new EventEmitter<any>();
if(this.minutes === '00' && this.seconds === '00'){
this.timerEvent.emit(value)//modify it accordingly
}
}
}
EventEmitter
объект имеет метод emit()
, который передает событие до родительского компонента.
В шаблоне родительского компонента определите привязки событий как часть селектора дочернего компонента. Привязка должна указывать на метод, определенный в классе родительского компонента, который выполняет действия с данными, полученными от дочернего элемента. $ event содержит полезную нагрузку, излучаемую дочерним элементом:
Шаблон родительского компонента: app.component.html
<timer (timerEvent)=onEvent($event)">
</timer>
или вы можете напрямую назначить захваченное событие свойству данных.
<timer (timerEvent)="data=$event">
</timer>
app.component.ts
export class AppComponent {
public data: any;
onEvent(data) {
this.data = data;
}
}