gpt4 book ai didi

javascript - 无法以 Angular 5 在我的页面中显示我的数组数据?

转载 作者:行者123 更新时间:2023-11-30 14:46:31 25 4
gpt4 key购买 nike

我希望你们一切都好,所以我遇到了一个小问题,我正在从 firebase 获取数据,我有一个包含数组的数组,我想在我的 View 中显示它,但我不能,我会的编写我的代码并解释我稍后想要实现的目标。

这是我数据库中的数据:

posts 
--- 1
--- puslisher -- "Erick"
--- content : "Something is written here"
--- comments
--- 1
--- comment : "Yes"
--- commentator : "Patrick"
--- 2
--- comment : "I dont think so "
--- commentator : "Sarah"
--- 2
--- puslisher -- "Patrick"
--- content : "News here .."
--- comments
--- 1
--- comment : "Yes"
--- commentator : "Ines"

我在 app.component.ts 中获取数据:

export class AppComponent implements OnInit {

pubs:Observable<any[]>;
constructor(private db:AngularFireDatabase){
}
ngOnInit(){
this.pubs = this.getData('/posts');
}

getData(path):Observable<any[]>{
return this.db.list(path).valueChanges()
}

}

这是我的 HTML 代码:

<div *nfFor="let post of pubs | async ">
<p>publisher {{post.publisher}}</p>
<p>content : {{post.content}}</p>
<div>{{post.comments}}</div>
<ul>
<li *ngFor="let cmt of post.comments" >{{cmt.comment}}</li>
</ul>
</div>

但我的控制台出现错误:

ERROR TypeError: Cannot read property 'comment' of undefined

但是当我只写 {{cmt}} 而不是 {{cmt.comment}} 时,我得到这样的结果:

publisher: Erick
content : Something is written here

,[object Object],[object Object]

-
- [object Object]
- [object Object]



publisher: Patrick
content : News here

,[object Object]

-
- [object Object]

这意味着我正在获取我的对象,但第一个总是空的,我不知道为什么,我想显示我的评论文本。

我希望我能很好地解释我的问题,我们将不胜感激。

最佳答案

听起来您只需要 safe navigation operator因此模板不会在定义对象之前尝试访问对象的属性。

尝试以下操作:

<li *ngFor="let cmt of post.comments" >{{ cmt?.comment }}</li>

关于javascript - 无法以 Angular 5 在我的页面中显示我的数组数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48827403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com