【发布时间】:2018-03-29 21:00:45
【问题描述】:
我在从 firebase 上的实时数据库取回数据时遇到问题。一切都设置正确,读写权限是公开的,所以我不必进行身份验证。
npm 编译成功。所以代码很好(Angular-CLI)。就文档而言,我完全尝试了 GitHub 页面上的内容。
当我插入从对象中提取数据时,前端的返回为 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}
]
这是我上传之前文件的样子。
【问题讨论】:
-
你能在 firebase 控制台中展示你的 json 结构吗?
-
也许您可以尝试使用不同的
tableName而不是items来查看是否获得了一些数据。 -
JSON 看起来像这样。 [ {"something" : string, "someelse" : string}, {"something" : string, "someelse" : string} ].. 我将文件上传到 firebase。
-
“我的数据库实际上没有标明 Items 的标签” 您需要在 firebase 数据库中指明节点的名称。你也可以展示一下吗?
-
你能把'items'定义为:“items: FirebaseListObservable
;”看看它是否有效?还有,为什么不使用“this.items = db.list('items');”
标签: angular typescript firebase angularfire2