Angular不通过Angularfire2提取数据

时间:2017-10-18 03:52:12

标签: angular typescript firebase angularfire2

我一直遇到从firebase上的实时数据库中获取数据的问题。一切都设置正确,读取和写入权限是公开的,所以我不需要进行身份验证。

npm编译成功。所以代码很好(Angular-CLI)。就文档而言,我尝试了GitHub页面上的内容。

当我从Object中插入拉取数据时,前端的返回值为Null。当我对List执行相同操作时,返回为空。 * ngFor甚至不起作用。

任何人都有同样的问题或可以提供帮助吗?

代码看起来像这样。这是文档中的直接副本。

我的数据库实际上没有根据db.list('items')显示“Items”的标签。我不认为那会是问题,但这会产生问题吗?

import { Component } from '@angular/core';
import { AngularFireDatabase } from      'angularfire2/database';
import { Observable } from 'rxjs/Observable';

@Component({
  selector: 'app-root',
  template: `
  <ul>
    <li *ngFor="let item of items | async">
   {{ item | json }}
    </li>
  </ul>
  `,
})
export class AppComponent {
  items: Observable<any[]>;
  constructor(db: AngularFireDatabase) {
    this.items = db.list('items').valueChanges();
  }
}

firebase中的数据具有这种结构..

[ 
 {"THIS" : string , "THAT" : string},
 {"THIS" : string , "THAT" : string}
]

这是我上传之前文件的样子。

1 个答案:

答案 0 :(得分:0)

我想您忘了创建items集合。

您在此处订阅了items集合:

  

this.items = db.list('items').valueChanges();

尝试导入这个,看看你是否得到了一些结果:

{
  "items": [
    {
      "THIS": "test",
      "THAT": "test"
    },
    {
      "THIS": "test",
      "THAT": "test"
    }
  ]
}

在firebase中它看起来像:

enter image description here