即时通讯使用firebase,这是我数据库的示例

items:
  yyy:
    userId: aaa
    qty: 2
  zzz:
    userId: bbb
    qty: 1
profile:
  aaa:
    name: AAA
  bbb:
    name: BBB

我正致力于离子和angularfire2 . 我想在项目数据中使用userId检索配置文件中的数据 . 即时通讯使用我从这个link得到的代码,但它显示我null . 如何在一个 ngFor async中显示项目和配置文件列表的数据 . 继承人的代码 .

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

import { Item } from '../../models/item';
import { profile } from '../../profile/profile';
import { AngularFireDatabase,FirebaseListObservable  } from 'angularfire2/database';

@IonicPage()
@Component({
  selector: 'page-timeline',
  templateUrl: 'timeline.html',
})
export class TimelinePage {
  item = {} as Item ;
  profile  = {} as Profile;
  item: Observable<any>;


  constructor(
    private afDatabase : AngularFireDatabase,
    public navCtrl: NavController,
    public navParams: NavParams) {
      this.item = this.afDatabase.list(`/items`)
          .snapshotChanges()
          .map(changes =>
            changes.map(c => ({
              key: c.payload.key,
              profile: this.afDatabase.object(`profile/${c.payload.val().userId}`)
              .valueChanges(),
            ...p.payload.val()
            }))
          );

  }

  ionViewDidLoad() {
      console.log('ionViewDidLoad TimelinePage');
  }

}

我已经导入了这样的rxjs

import 'rxjs/add/operator/take';
import "rxjs/add/operator/map";
import "rxjs/add/observable/interval";

你能帮我解决吗?非常感谢 .