使用typescript

时间:2017-01-07 15:24:03

标签: typescript firebase firebase-realtime-database ionic2 angularfire2

在带有angularfire2 + firebase的ionic2项目中我试图将数据从firebase表转换为.ts文件中可用的内容。

有效:

in .ts

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

in html

*ngFor="let item of list | async"

这为我提供了{{item.val}}使用的所有对象 但是,我想直接在脚本中使用这些数据而不是查看,所以我试图通过带有subscribe中的subscribe的变量来访问它。这是当前的方法和

不起作用:

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

    })
  });

它为控制台中的每个项目记录[object Object]。

我不知道如何获取observables返回的[object Object]的内容而不触及html,最好的情况就像item.value一样简单?

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

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

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

1 个答案:

答案 0 :(得分:0)

现在实际上使用地图为我工作;它必须被列在列表而不是对象上。