import {Component} from '@angular/core'; import {BehaviorSubject, Observable, Subject} from "rxjs"; import {Car} from "../../core/model/car"; @Component({ selector: 'app-simple-observable-exemple', templateUrl: './simple-observable-exemple.component.html', styleUrls: ['./simple-observable-exemple.component.scss'] }) export class SimpleObservableExempleComponent { private carsSubject: BehaviorSubject = new BehaviorSubject([]); private cars: Car[] = []; get cars$(): Observable { return this.carsSubject.asObservable(); } addNewCar(): void { const newCar: Car = { id: `${Math.random() * 100}`, brand: 'Toyota', model: 'Yaris', power: 12, numberOfSeats: 5 } this.cars.push(newCar); this.emitCarsUpdateEvent(); } removeCars(): void { this.cars = []; this.emitCarsUpdateEvent(); } private emitCarsUpdateEvent(): void { this.carsSubject.next(this.cars); } }