今、私はデータdescribed in the documentationを使用してデータのラップを解除しています。AngularFire2データスナップショットの取得
AngularFire2がデフォルトでFirebase DataSnapshotをアンラップしますが、preserveSnapshotオプションを指定することにより、元のスナップショットなどのデータを取得することができます。ただし、ドキュメントは述べています。
データスナップショットを手動でアンラップしなくても、「デフォルト」アンラッピング機能(item
の要素にアクセスしてください)にアクセスするにはどうすればよいですか?
Firebaseから私のデータは次のようになります。(作品)
{
testObj : {
firstName: "beckah",
lastName: "s"
}
}
私のコードです:
Object {firstName: "beckah", lastName: "s"}
どのように行うことができるだろうが出力さ
import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { AngularFireDatabase, FirebaseObjectObservable } from 'angularfire2/database';
@Component({
selector: 'page-home',
templateUrl: 'home.html'
})
export class HomePage {
item: FirebaseObjectObservable<any>;
constructor(public navCtrl: NavController,
public db: AngularFireDatabase) {
this.item = db.object('/testObj', { preserveSnapshot: true });
this.item.subscribe(snapshot => {
console.log(snapshot.val())
});
}
}
まったく同じもの(console.log my item
オブジェクト)のように私のスナップショットを手動でアンラップせずにドキュメントの状態は可能ですか?
this.item.get("firstName")
の方法はありますか?
「AngularObjectObservable」を参照すると、 'rxjs/Observable'を意味しますか? – beckah
申し訳ありませんが、 'Observable'のサブクラスである' FirebaseObjectObservable'を意味しました。 –
問題ありません:)その場合でも、私はあなたが結果を購読して同時に割り当てをすることはできないと思います。 'タイプ 'サブスクリプション'がタイプ 'FirebaseObjectObservable'に割り当てられないというエラーが表示されます。しかし、console.logsという2番目の引数に無名関数をポップして代入を行うことができます。それにかかわらず、これはテンプレートを非同期的に聞く方法を大いに助けました。 –
beckah