Мне нужно поймать источник событий в канале и выполнить некоторые операции на его основе.
Ниже приведен фрагмент кода файла html и ts.
xyx.component. html
<div *ngIf="count | async as count">
<div style="text-align: center">
<div>{{ count.counter }}</div>
<div>
<input type="button" value="start" (click)="start.emit()">
<input type="button" value="stop" (click)="stop.emit()">
</div>
</div>
</div>
xyx.component.ts
@Component({
selector: 'xyz-app',
templateUrl: './xyz.component.html',
styleUrls: ['./xyz.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class XYZComponent {
public readonly count: Observable<{
counter: number,
}>;
public readonly start: EventEmitter<void> = new EventEmitter();
public readonly stop: EventEmitter<void> = new EventEmitter();
constructor() {
this.count = interval(1000).pipe(
map(counter => counter + 1),
startWith(0),
map(counter => ({counter})),
);
}
}
Что нужно сделать в канале, чтобы перехватить это событие выдать и выполнить запуск и остановку счетчика.