不知道ID的AngularFire 2访问值

AngularFire 2 access value without knowing ID

我正在尝试进行简单的聊天,只是为了练习,但我想访问另一个 child 中的 child。 我手写了 ID,但假设我不知道 ID,因为 firebase 随机创建了 ID。

问题是,我可以迭代列表,但我无法访问 child,因为我不知道 ID,我只想在视图中查看消息。

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);
      })
    });

谢谢!!

我重新创建了您的数据结构,您在创建引用时似乎错过了以下选项:{ preserveSnapshot: true }

以下创建您想要的数组:

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

如果这对你有帮助,请告诉我:)