首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ngFor内部ngFor

ngFor内部ngFor
EN

Stack Overflow用户
提问于 2018-04-19 12:25:26
回答 2查看 13.4K关注 0票数 5

我有角形+ Firebase应用程序。在我的一个组件中,我从Firebase DB获取元素,并将它们绑定到*ngFor模板中:

代码语言:javascript
复制
<div *ngFor="let comment of (comments | async)>
   <div>{{ comment.text }}</div>
</div>

但是每个comment都有answers列表:

如何将答案绑定到循环中,例如,如下所示:

代码语言:javascript
复制
<div *ngFor="let comment of (comments | async)>
   <div>{{ comment.text }}</div>

   <div *ngFor="let answer of comment.answers">
     {{ answer.text }}
   </div
</div>

此结构不工作,并返回错误:

无法找到“对象”类型的不同支持对象“对象对象”。NgFor只支持绑定到诸如数组之类的Iterable。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-19 12:28:22

属性是一个对象。在*ngFor循环中显示数组之前,必须将其转换为数组。

component.html

代码语言:javascript
复制
<div *ngFor="let comment of (comments | async)>
   <div>{{ comment.text }}</div>

   <div *ngFor="let answer of toArray(comment.answers)">
     {{ answer.text }}
   </div
</div>

component.ts

代码语言:javascript
复制
export class Component {
  toArray(answers: object) {
    return Object.keys(answers).map(key => answers[key])
  }
}

如果您想保留键,也可以将其合并到映射调用中的对象中。

代码语言:javascript
复制
export class Component {
  toArray(answers: object) {
    return Object.keys(answers).map(key => ({
      key,
      ...answers[key]
    }))
  }
}
票数 16
EN

Stack Overflow用户

发布于 2019-07-28 23:39:41

下面的代码为我工作;角7离子4;

代码语言:javascript
复制
  <ion-item (click)="navigate(oB.ogretmen_id)" class="OgretmenOzellikler" color="primary" *ngFor="let oB of ogretmenBilgi">

            <ion-label>
                <h3>{{oB.ogretmen_ad}} {{oB.ogretmen_ad}}</h3>
                <ion-label>{{oB.ogretmen_brans}}</ion-label>

                <p *ngFor="let key of oB.Dersler">
                    <ion-icon name="bookmarks"></ion-icon>{{key.ders_ad}}
                </p>


            </ion-label>
        </ion-item>

response of ogretmenBilgi
    Dersler: Array(2)
    0: {ders_ad: "Vatandaşlık", kategori_ad: "ilk öğretim takviye"}
    1: {ders_ad: "Yabancı Dil", kategori_ad: "ilk öğretim takviye"}
    length: 2
    __proto__: Array(0)
    ogretmen_ad: "Ad"
    ogretmen_brans: "Brans"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49921096

复制
相关文章

相似问题

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