Ваша сервисная функция getAllLikedProperties()
не возвращает наблюдаемое, оно возвращает значение вашей отфильтрованной коллекции afs.
Измените свою функцию так, чтобы она возвращала наблюдаемое, и вы можете подписаться на нее, например:
getAllUserLikedProperties(): AngularFirestoreCollection<any> {
const properties$: Subject<any> = new Subject<any>();
properties$.next(this.afs.collection('users', ref =>
ref.where('uid', '==', this._auth.currentUserId)
.where('likedProp', '==', true)
));
return properties$;
}
В качестве альтернативы, вы можете использовать оператор RxJs of
для возврата наблюдаемого потока:
import { of } from 'rxjs';
getAllUserLikedProperties(): AngularFirestoreCollection<any> {
return of(this.afs.collection('users', ref =>
ref.where('uid', '==', this._auth.currentUserId)
.where('likedProp', '==', true)
));
}
Или, вообще, забыть о подписке и просто сразу присвоить значение.
ngOnInit() {
this.likedProp = this._property.getAllUserLikedProperties();
}