首页 > 解决方案 > 错误类型错误:无法读取未定义的属性'project_name' - Angular 8

问题描述

我的 ts 代码编码是,


this.api.getPay(this.donationId).subscribe(
    data => {
        this.paymentData = data;
        this.paymentDetails = this.paymentData.donationDetails[0];
    }
)

我的html代码就像

Project :   <strong>{{paymentDetails.project_name}}</strong><br/>

Status:     <strong>{{paymentDetails?.status}}</strong><br/>

现在将显示详细信息project_nameStatus控制台获取"ERROR TypeError: Cannot read property 'project_name' of undefined"

如果我添加“?” 喜欢


{{paymentDetails?.project_name}}

未显示详细信息。但控制台没有任何错误。

这种相同的编码方法在 Angular 5/6 中运行良好。

Angular 8的任何特殊方法???

TS 文件中的我的控制台输出是

{
project_name: "test",
status: "true"
}

上一个问题是How to Display Values in Angular 8 Shows ERROR TypeError: Cannot read property 'project_name' of undefined

但解决方案不起作用

有谁知道如何解决?

标签: angular8

解决方案


一切似乎都很好,检查您的组件是否没有

changeDetection: ChangeDetectiongStrategy.OnPush 

如果是这样,请将其删除并放回“?” 在 html 标记中,然后将其添加回来并在订阅中进行更改检测


推荐阅读