AngularFire snapshotChanges () возвращает
Observable<Action<DocumentSnapshot<T>>>
Я реализую его в службе, поэтому я использую свойство publi c, которое также возвращает наблюдаемое с использованием этого синтаксиса
public myObs : Observable<myInterface[]>
this.myObs = this.afs.collection<myInterface>('aPath').snapshotChanges()
все работает нормально, но теперь я хочу иметь возможность изменять переменную 'aPath'.
this.myObs = this.afs.collection<myInterface>('aPath').snapshotChanges()
this.myObs = this.afs.collection<myInterface>('aNewPath').snapshotChanges()
существует ли риск утечки памяти?
Редактировать - я нашел элегантное решение с использованием субъекта
private snapshotSub : Subscription = null;
public myObs : Subject<myInterface[]> = new Subject<myInterface[]>();
if (this.snapshotSub != null) this.snapshotSub.unsubscribe();
this.snapshotSub = this.afs.collection<myInterface>('aPath').snapshotChanges().subscribe((data)=>{
this.myObs.next (data);
});