import { Injectable } from '@angular/core'; import { Observable, BehaviorSubject } from 'rxjs/Rx'; import { Track } from './track.model'; @Injectable() export class PlaylistService { public playlistSubject: BehaviorSubject = new BehaviorSubject([]); private playlist = []; constructor() {} public getPlaylist(): Observable { return this.playlistSubject.asObservable(); } public setPlaylist(playlist: Track[]): void { this.playlist = playlist; this.playlistSubject.next(this.playlist); } public addTrackToPlaylist(track: Track): void { this.playlist.push(track); this.playlistSubject.next(this.playlist); } }