をキャッチしていないので、私はAngularFire2(バージョン4.0.0-rc.1)を使用して開始し、この問題に引っかかっ:
getWishlist$(): FirebaseListObservable<{}> {
return <FirebaseListObservable<{}>>this.store.select(getFirebaseUID)
.filter(res => res.isAuthenticated)
.map(res => res.UserUUID)
.switchMap(uid => this.db.list(`/wishlist/${uid}/products`));
}
のでswitchMap演算子の後にそれが本来の私を返す必要がありますFirebaseListObservableであるthis.db.list()
から観測されますが、それは起こらず、実行時に次のコードにエラーがあります。
this.accountService.getWishlist$().$ref
.orderByChild('pk').equalTo(designer.pk).once('value', (data) => {
if (!data.exists()) {
this.accountService.getWishlist$().push(designer);
}
})
とエラーです:
Cannot read property 'orderByChild' of undefined
私が間違ってやっていますか?
私はあなたのリンクを提供するように私の質問を拡張しています。状況に何も変わらない.switch()演算子を呼び出すと、決してサブスクリプションをしなかったので、$ refは未定義です。あれは正しいですか?ですから、私が正しく理解していれば、.map()を購読してFirebaseList/ObjectObservableを受け取ってComponentクラスに結びつけるほうが良いです。サービスに私の論理がもっとあると期待しているので、ちょっと悲しいです。 – galuszkak
'subscribe'の呼び出しがなければ何も起こりません。オリジナルの 'getWishlist $'メソッドを見れば、 'subscribe'なしでは動作しないことは明らかです。これは、ストアからの' UID'を取得し、それを使ってFirebase refを作成するために使用します。 AngularFire2リスト - 戻り値がrefを含むオブジェクトであることは不可能です。 – cartant