【问题标题】:Angular Firebase - Get observable from reference fieldAngular Firebase - 从参考字段中获取可观察的
【发布时间】:2019-02-01 19:15:06
【问题描述】:

假设我有以下 Firestore 结构:

"Objects": {
  "Object1": {
    "Material_Ref": <DocRef>;
  },
  "Object2": {
    "Material_Ref": <DocRef>;
  },
}

"Materials": {
  "Name": string;
  "Type": string;
}

我想通过从每个对象的材料参考文档中访问来监听材料的变化,我该如何实现呢?

<ul *ngIf="materials | async">
    <li *ngFor="let material of materials">
       {{ material.Name }} and {{ material.Type }}
    </li>
</ul>

编辑:上面的 HTML 块是我想要检索数据的方式,我问我需要在组件中做什么才能以这种方式传递材料。我添加了这一点,因为答案与我的要求无关。

【问题讨论】:

    标签: angular google-cloud-firestore observable


    【解决方案1】:

    我认为材料应该是可观察的,并且您必须提供async 管道

    <ul *ngIf="materials | async">
    <li *ngFor="let material of materials|async">
       {{ material.Name }} and {{ material.Type }}
    </li>
    

    【讨论】:

    • 感谢您的回答,但我认为我的问题不够清楚。 Html 示例是我想要获取材料的方式,但我问的是如何使用 TS 在组件文件中检索这个 observable。
    • 你必须订阅 observables。
    • 是的,但是我该怎么做呢?在这种情况下,我想为每个作为材料参考的 firebase 文档分,我可以去db.collection("Objects").valueChanges() 做一些映射,但我不清楚。
    • 在订阅 observables 时,更改将自动反映回 DOM,除非您取消订阅;您不想做任何额外的事情来反映更改,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-04
    • 2020-05-03
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    相关资源
    最近更新 更多