2017-03-22 3 views
0

私は簡単なチャットをしようとしていますが、練習するだけですが、別の子供の中の子供にアクセスしたいと思います。 私はIDを手で怒らせましたが、私がIDを知らないのは想像してください。AngularFire 2アクセスの値を知らずにID

私はIDを知らないので、リストを反復することができますが、私は子供にアクセスすることができません、そして、私はビュー内のmsgを見たいだけです。

Firebaseデータベース構造:http://imgur.com/a/va7QC

は、これは私が持っているコードです:

constructor(public navCtrl: NavController, public navParams: NavParams, public af: AngularFire) { 
    af.database.list('/chats/chatroom').subscribe(items => { 
     console.log(items); 
     items.forEach(snapshot => { 
     console.log(snapshot); 
     this.msg.push(snapshot.msg); 
     }) 
    }); 

ありがとうございました!!

+0

スナップショットの値にアクセスするには、 'val()'を使います: 'this.msg.push(snapshot.val()。msg);'。 –

+0

こんにちは!私はそのコードを試しましたが、valは関数ではないと言います。 – Mystearica

+0

Hmmm ....奇妙なことに、AngularFireのドキュメントによれば、 '.val()'は動作するはずです:https://github.com/angular/angularfire2/blob/master/docs/3-retrieving-data-as-lists。 md#取得スナップショット –

答えて

0

私はあなたのデータ構造を再作成し、あなたが参照を作成するときに次のオプションを逃すように思える:{ preserveSnapshot: true }

以下は、ご希望の配列を作成します。

af.database.list('/chats/chatroom').subscribe(items => { 
    console.log(items); 
    items.forEach(snapshot => { 
    console.log(snapshot); 
    this.msg.push(snapshot.val().msg); 
    }) 

このヘルプ場合は私に知らせてくださいあなた:)

+0

ありがとう@DauleDKは動作します!^_^ – Mystearica

+0

@Mystearicaあなたは解決されたとしてマークしてください - それがあなたを助けたら? – DauleDK

関連する問題