I'm using AngularFireDatabase to get part of my database like this db.object('/accounts/'+this.cid); where this.cid is a BehaviorSubject which can change. Am I going about this the wrong way?
cid: BehaviorSubject<string>;
account: FirebaseObjectObservable<any>;
constructor(private db: AngularFireDatabase) {
this.cid = new BehaviorSubject<string>('fs2ejD4ds');
this.account = db.object('/accounts/'+this.cid);
Basically whenever I run this.cid.next('fhEj2jd') I want it to change which object we're trying to reference in Firebase.
For getting current value from
BehaviorSubject, you can call it'sgetValuemethod, see docs.But keep in mind that you will have to overwrite the original observable
this.accounteach timethis.cid's current value has been changed. And If you simply subscribe tothis.account, then you will have to unsubscribe before overwrite it with new observable(for unsubscribe, you can use async pipe to do it automatically).Refer simple demo.