Witam, uczę się angulara i nie rozumiem jednej rzeczy. W angularze stosuje sie takie coś jak observable ale nie rozumiem jak i nie rozumiem po co.
Przykład mamy tasks.service.ts
import { Injectable } from '@angular/core';
import { Observable, BehaviorSubject } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class TasksService {
taskList: Array<string> = [];
doneList: Array<string> = [];
taskListObs = new BehaviorSubject<Array<string>>(this.taskList); //1
doneListObs = new BehaviorSubject<Array<string>>(this.doneList);
constructor() {
this.taskList = ['Sprzątanie pokoju', 'Nauka Angulara', 'Podlewanie kwiatów', 'Zakupy']; //3
this.taskListObs.next(this.taskList); //2
}
Moje pytania:
- Czemu w momencie tworzenia muszę podać zmienną
taskList
skoro - tutaj jest jakieś
next
i znowu podaje to samo czyli zmiennatasklist
- wartości są dane po zainicjowaniu obiektu czyli że za każdym razem muszę robić to
next
, tak? - Jaka jest różnica pomiędzy Subject a BehaviorSubject?
- Nie lepiej po prostu dać w komponentach konstruktor serwisu a potem this.service.zmienna ?