在我的 ionic-Angular 应用程序中,我已经从数据库加载内容并成功打印在控制台上,但是我无法与视图绑定,它说
_ _ 3
<ion-card-content>
{{homeContent.about}}
</ion-card-content>
component.ts
constructor(public navCtrl: NavController, navParams: NavParams, public
homeService: HomeContentService,
public loadingCtrl: LoadingController) {
this.homeService.geteventHomeContentForPage(this.event.id).subscribe(data=>
{
this.homeContent=data;
console.log(this.homeContent)
console.log(this.homeContent.about)
})
}
我的控制台
1 回答
问题是
homeContent
属性是异步加载的,所以当 Angular 尝试渲染视图时,仍然没有定义homeContent
,然后在尝试访问about
属性时抛出错误。要解决此问题,请使用elvis 运算符:如果
homeContent
仍然是null
/undefined
,这将告诉 Angular 不要尝试读取about
属性防止这种情况发生的其他一些方法是使用
ngIf
添加一个检查,如下所示:在这种情况下,我们不需要 elvis 运算符(?),因为如果没有定义
homeContent
属性,则不会呈现整个ion-card-content
。避免此错误的另一种可能方法是将
homeContent
属性初始化为对象,因此在尝试访问其about
sub-property 时,它将为 null 但 Angular 不会抛出错误: