I am struggling to understand , why i need to use observable. I have a very simple store like below
@Injectable({
providedIn: 'root'
})
export class DataService {
private readonly personData: Person = new Person();
constructor() {
}
public getPerson():Person{
return this.personData;
}
public setAge(age:number){
this.personData.age = age;
}
}
this above service works just fine and exactly same if I were to use observable
@Injectable({
providedIn: 'root'
})
export class DataService {
// @ts-ignore
private readonly personData: BehaviorSubject<Person> = new BehaviorSubject<Person>({});
public personData$: Observable<Person> ;
constructor() {
this.personData$ = this.personData.asObservable();
}
public getPerson():Person{
return this.personData.getValue();
}
public setAge(age:number){
this.getPerson().age = number;
}
}
My question is , why would I use observable , the simple service property is working just fine! Or I am missing the big picture! Please help me to understand.