首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有没有办法在新的web SDK上查询RTDB列表,并简单地获取值而不是快照更改?

有没有办法在新的web SDK上查询RTDB列表,并简单地获取值而不是快照更改?
EN

Stack Overflow用户
提问于 2021-09-18 10:24:04
回答 1查看 52关注 0票数 1

我在angularfire,rxfire和firebase-sdk文档之间来回切换,但我找不到答案。

使用版本8的firebase-sdk API,我可以简单地查询RTDB并获得查询的结果(而不是一堆快照更改)。我如何使用新的API来做到这一点呢?

我在任何文件上都找不到。有没有可能通过angularfire?rxfire?firebase-sdk?

我正在尝试将ngFor绑定到我的查询结果。我不想手动处理child_added、child_removed、child_changed等。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-18 11:16:07

angular/fire 7的文档在很大程度上仍然不完整,这在尝试使用它构建项目时可能会令人沮丧。要从RTDB获取节点列表并使用ngFor循环显示它,可以执行以下操作

导入:

代码语言:javascript
复制
import {Database, listVal, ref} from "@angular/fire/database";

声明为observable:

代码语言:javascript
复制
  rtdb: Observable<any[] | null> | undefined;

构造函数:

代码语言:javascript
复制
  constructor(private database: Database) {}

返回数据的函数:

代码语言:javascript
复制
  async getNodeList() {
    const nodeRef = ref(this.database, 'path/to/node/list');

    this.rtdb = listVal(nodeRef);

    this.rtdb.subscribe(data => {
      console.log(data);
    });
  }

您的HTML模板:

代码语言:javascript
复制
<ng-container *ngFor="let item of rtdb | async">
  {{ item| json }}
</ng-container>
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69233776

复制
相关文章

相似问题

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