首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角9-后端与Firebase和云修复

角9-后端与Firebase和云修复
EN

Stack Overflow用户
提问于 2020-05-16 10:55:02
回答 1查看 694关注 0票数 1

对于前端(角)有一个服务器,后端在Firebase中,我使用的是。

我尝试了数据库实时,一切正常,但我想尝试云修复和它的集合。

问题如下:

这是构成部分:

代码语言:javascript
复制
 items: Array<any>;

  constructor(private aboutUsService: AboutUsService) { }

  ngOnInit() {
    this.getData();
  }

  getData() {
    this.aboutUsService.getContent()
    .subscribe(data => {
      this.items = data;
      console.log('items: ',  this.items);
    }, // Bind to view
    err => {
      console.log(err);
    });
  }

这是服务:

代码语言:javascript
复制
  getContent() {
    return this.db.collection('aboutus').snapshotChanges();
  }

目前,我在Cloud中有一个集合:

规则云修复:

代码语言:javascript
复制
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if true;
    }
  }
}

服务响应并使用元素返回以下数组(这是this.items的内容):

代码语言:javascript
复制
[{…}]
0:
payload: {type: "added", doc: n, oldIndex: -1, newIndex: 0}
type: "added"

以下是Chrome网络选项卡中的标题:

代码语言:javascript
复制
Request URL: http://localhost:4200/aboutus
Request Method: GET
Status Code: 304 Not Modified
Remote Address: 127.0.0.1:4200

但是我无法找到集合的数据来显示在前端(变量this.items)。

如果我在响应数组中向集合"aboutus“添加元素,则它对应于集合的元素,但无法可视化数据。

有什么问题吗?谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-29 14:16:24

正如我在两周前(5月15日)的评论中提到的那样:

您应该使用AngularFirestoreCollection.valueChanges,它返回集合值的Observable,而AngularFirestoreCollection.snapshotChanges则在快照上显示其他元数据。有关更多信息,请考虑查看文档:https://github.com/angular/angularfire/blob/master/docs/firestore/collections.md

因此,您应该将snapshotChanges调用替换为valueChanges

代码语言:javascript
复制
getContent() {
  return this.db.collection('aboutus').valueChanges();
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61835629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档