在 TypeScript 中使用 Angularfire2 获取可观察量的对象详细信息



在具有 Angularfire2 + Firebase 的 ionic2 项目中,我正在尝试将 firebase 表中的数据转换为 .ts 文件中可用的数据。

有效:

在 .ts 中

this.list = af.database.list('/items');

在网页中

*ngFor="let item of list | async"

这给了我所有与 {{item.val}} 一起使用的对象但是,我想直接在脚本中使用这些数据而不是查看,所以我尝试通过打字稿中的订阅变量访问它。这是当前的方法,

这不起作用:

this.af.database.list('/items/', { preserveSnapshot: true } )
  .subscribe(snapshots => 
  {
    snapshots.forEach(snapshot => 
    {
      if ( !someList.some(x=>x==snapshot.key) ) 
      {
          someList.push(snapshot.key);
          console.log(snapshot.val());
          this.af.database.object('/items/'+snapshot.key, { preserveSnapshot: true } ) 
          .subscribe( item => 
          {
            console.log(item.val();
          });
      }
    })
  });

它会记录控制台中每个项目的 [对象对象]。

我不明白如何在不接触 html 的情况下访问可观察量返回的 [对象对象] 的内容,最好的情况就像 item.value 一样简单?

找到了一些.map的例子,它为我返回TypeError:item.map不是一个函数。

如何获取这些对象的内容?

任何帮助或提示进行测试不胜感激谢谢

实际上现在使用map对我有用;它必须投射在列表而不是对象上。

最新更新